5

ユーザーがアクセスするたびにウェブページが死ぬので、ウェブアプリを介していくつかのプログラム(メディアプレーヤーやシェルなど)を制御することを計画してsetsidいます。パイプ。

注:自動停止nohupみたいなのが使えない。nohup bash -i <fifoin >fifoout 2>&1 &

すべてが完全にsetsid機能しますが、フォークされたプロセスの ID がわからないため、プロセスを強制終了できません! ..では、どうすれば setsided プロセスの ID を取得できますか?

私は次のようなものを試しました

setsid bash -i <fifoin >fifoout 2>&1
kill $!
kill $$

その結果、どちらも機能しません。実行中のすべての シェルを強制終了できないためkill、ID を検索しません。ps -ebash -i

4

2 に答える 2

0

プロセスをバックグラウンドで実行する必要があり&ます。そうしないと、フォアグラウンドで実行され、次の行が実行されようとしてもブロックされます。

setsid bash -i <fifoin >fifoout 2>&1 &
kill $!
于 2013-04-30T12:29:11.040 に答える