Вы можете попробовать этот хак:
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, поэтому вам придется делать все, что вам нужно в этом цикле, есть только одна строка вывода, поэтому она будет выполняться только один раз.