2014-11-30 6 views

ответ

0

Вы можете попробовать этот хак:

setsid sh -c 'python mod_pywebsocket/standalone.py -p 12345 > /dev/null & echo $!' | 
    while read PID ; do 
    echo $PID 
    your stuff here 
    done 

Это запустит еще одну оболочку, которая начнет свой процесс в фоновом режиме, и распечатать это идентификатор задания с помощью $! оператор.

Здесь вы не можете написать PID = $ (...), потому что команда внутри не вернется, пока не закроет выходной поток, так что вот фиктивный «while read X» loop, который будет читать первую строку и не будет дождитесь, пока команда закроет stdout, поэтому вам придется делать все, что вам нужно в этом цикле, есть только одна строка вывода, поэтому она будет выполняться только один раз.