問題タブ [setsid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - posix_spawn() によって作成された proc での setsid() の呼び出し
この質問は、この質問のフォローアップです。
bash コマンドを発行するposix_spawn()
と、次のメッセージが表示されます。
bash: このシェルにはジョブ制御がありません
フォークシーケンスで関数の呼び出しがあり、setsid()
使用中にこの操作をシミュレートする方法がわからないためだと思いますposix_spawn()
。
bash プロセス用の新しいセッションを作成する方法はありますか?
bash - このコマンド置換がバックグラウンド ジョブの終了を待機しているのはなぜですか?
コマンド置換でバックグラウンド ジョブの PID を取得しようとしています。バックグラウンド ジョブは で開始されsetsid
ます。問題は、親プロセスがコマンド置換でヒットすることです。
スクリプトの例を次に示します。
./script start
期待どおりに動作します (つまり、バックグラウンド ジョブの実行中にすぐに終了して bash プロンプトが表示されます)。setsid ./script start
期待どおりに動作します。- しかし
./script
、期待どおりに動作しません: PID を出力しません (バックグラウンド ジョブが手動で強制終了されない限り)。
bash - エラーにsetsidを含むシェルスクリプトを実行する
多くのシードでタスクを実行するシェルスクリプトを作成しました。ここに私のシェルスクリプトがあります
task.sh
ただし、i=1 のシード 24 を持つ最初のプロセスが起動され、次のプロセスは起動されていません。その理由は、プロセスを1つずつ実行することしかサポートしていないシェルスクリプトにあると思います。すべてのプロセスをバックグラウンドで実行するように修正するにはどうすればよいですか?