a subprocess qns
Ben C
spamspam at spam.eggs
Fri Apr 21 04:12:31 EDT 2006
On 2006-04-21, micklee74 at hotmail.com <micklee74 at hotmail.com> wrote:
> hi
> i wanted to start execute a command and put it in the background. i am
> using Unix.
If you use subprocess, or even os.spawn, it should be portable and work
on all systems (although the docs list some restrictions).
> Usually i start this command using something like this :
> "/path/somecmd &" with the "&" to put it to background.
You can still do that: os.system("/bin/mycmd &"), or use
subprocess.Popen with True in its shell parameter. os.system invokes the
shell, so this is not portable-- you must have a shell in which & means
what you want (it works at least on bash and probably on some other Unix
shells).
> i looked at the subprocess module docs and came across this statement
> Replacing os.spawn*
> -------------------
> P_NOWAIT example:
> pid = os.spawnlp(os.P_NOWAIT, "/bin/mycmd", "mycmd", "myarg")
>==>
> pid = Popen(["/bin/mycmd", "myarg"]).pid
>
>
> Can i ask if P_NOWAIT means the same as "&" ?? so if it is, then this
> statement
I think it does.
> pid = os.spawnlp(os.P_NOWAIT, "/bin/mycmd", "mycmd", "myarg")
>
> will put mycmd into background and return to the caller...?
Should do.
More information about the Python-list
mailing list