wait

POSIX shは、子プロセスへの参照を維持するために$!を拡張する必要がありますか?
wait

POSIX shは、子プロセスへの参照を維持するために$!を拡張する必要がありますか?

仕様 ~によるとオンラインPOSIX仕様, シェルとユーティリティ, シェルコマンド言語, セクション2.9.3 リストの非同期リストの内容は次のとおりです。 非同期リストの要素(<&>で終わるリスト部分、例:コマンド1、上)シェルによって開始されると、非同期リスト要素の最後のコマンドのプロセスIDは現在のシェル実行環境内で知られている必要があります。シェル実行環境をご覧ください。プロセスIDは、次回まで既知のままにしてください。 コマンドが終了し、アプリケーションはプロセスIDを待ちます。 $!現在の実行環境では、""(以前の非同...

Admin

Bashでバックグラウンドプロセスの収集を延期できますか?
wait

Bashでバックグラウンドプロセスの収集を延期できますか?

sleep 1 &bashで実行すると、プロセスがsleep終了した直後にプロセスが収穫されます。これは、ジョブ制御が有効かどうかに関係なく発生します。 bashがwait次のことをするまで収穫プロセスを遅らせる方法はありますかfg?たとえば、 sleep 1 & sleep 2 ps -ef | grep defunct # I want this to show the sleep 1 process wait ps -ef | grep defunct # But now it should be gone ...

Admin

スクリプトの1つのプロセスが失敗した場合は、bash posixを使用して失敗してください。
wait

スクリプトの1つのプロセスが失敗した場合は、bash posixを使用して失敗してください。

私はバックグラウンドで複数のコマンドを同時に実行し、すべてのコマンドが完了するのを待つスクリプトを作成しています。 #!/bin/sh -fx ./p1 & ./p2 & ./p3 & ./p4 & ./p5 & wait 問題は、これらのプロセスの1つ以上が失敗した場合に続行することです。これらすべてのコマンドを同時に実行し、1つ以上のコマンドが失敗したことを確認するにはどうすればよいですか? ...

Admin

スクリプトがすでに実行されていることを確認するためにファイルタグを追加する方法
wait

スクリプトがすでに実行されていることを確認するためにファイルタグを追加する方法

私が進めているプロジェクトに役立つかどうか疑問に思います。私はシノロジーNASを持っています。 USBドライブがドライブの1つに接続されるたびに、私が作成したスクリプトを自動的に実行するコミュニティパッケージが見つかりました。私のスクリプトは、スクリプトにリストされているすべてのUSBドライブ/ Sandiskカードの画像とビデオファイルをSynologyの特定のフォルダにコピーします。自動実行パッケージ実行スクリプトすべて問題は、4つのUSBドライブを互いに15秒以内に接続すると、4つのドライブがすべて4回コピーされることです。代わりに、すべてのUSBを接...

Admin

Curlは応答を返さず、`wait = x秒`を待ちません。
wait

Curlは応答を返さず、`wait = x秒`を待ちません。

非同期サービスの呼び出し中に応答するのに約80秒かかります。私は走る: curl -v -X POST https://hostname.com/service/v2/predict \ -H 'x-api-key: somekey' \ -H 'x-request-id: longfiles' \ -H "Authorization: Bearer dfv651df8fdvd" \ -H 'Prefer: respond-async, wait=200' \ -F 'contentAnalyzerRequests={"inputtest...

Admin

rsync ジャンプサーバーを使用すると、Bash スクリプトのロギングは期待どおりに機能しません。
wait

rsync ジャンプサーバーを使用すると、Bash スクリプトのロギングは期待どおりに機能しません。

リモートホストでいくつかのrsyncを実行するために、以下のシェルスクリプトを使用しています。 JumphostでSSHを接続し、SSH経由で次のようにrsyncを起動します。 ここでは、ログの開始日と終了日をキャプチャする必要があります。ただし、以下のスクリプトを実行すると、両方のログが同時に印刷されます。 より正確には、ここのスクリプトはServerAで生成され、ServerBにジャンプし、もう一度ServerCにジャンプしてからrsyncコマンドを実行します。ここでは、ServerAでrsyncコマンドの開始時刻と終了時刻を取得する必要があります。ただ...

Admin

2番目のコマンドが最初のコマンド(パイプライン)の出力を待たないのはなぜですか?
wait

2番目のコマンドが最初のコマンド(パイプライン)の出力を待たないのはなぜですか?

私は現在、M. Bachの「The Design of the UNIX® Operating System」を読んでいます。 メインシェルループについて読みました。if (/* piping */)ブロックを見てください。私が正しく理解した場合、パイプは最初のコマンド出力を2番目のコマンド入力として扱うことができます。それでは、2番目のコマンドに最初のコマンドが終了するのを待つコードがないのはなぜですか?このコマンドがなければ、パイピングは無意味に見えます。 2 番目のコマンドは、入力の準備ができていない状態で実行を開始できます。 ...

Admin

「$!」は「&」を使用して正しいIDを確実に返しますか?
wait

「$!」は「&」を使用して正しいIDを確実に返しますか?

私のテストでは、これまでは常に正しい結果を得ました。 [fabian@manjaro ~]$ sleep 10 & echo $! [1] 302657 302657 ただし、sleeptheとechohereが同時に実行されるため、正確にecho設定された値よりも前に実行されることが予想されます。$!このようなことが起こりますか?今までなぜ効果がなかったのですか? 私の究極の目標は、両方のタスクを並列に実行し、続行する前に両方のタスクを待つことです。現在の計画は同様のものを使用することですfoo & bar; wait $!; baz。こ...

Admin

SIGCHLDとwaitpid()またはwait()の関係は何ですか?
wait

SIGCHLDとwaitpid()またはwait()の関係は何ですか?

私が正しい場合、プロセスは関数を呼び出して子プロセスが終了または停止するのを待ちますwaitpid()。wait() waitpid()SIGCHLD信号とor関数の関係は何ですかwait()? プロセスwaitpid()がまたはwait()関数を呼び出すときに子プロセスがシャットダウン/停止されるまで(SIGCHLD信号を送信する前と同じ)、プロセスはそれ自体が停止することは正しいですか? (シグナルが送信されるまで現在のプロセスを中断します。SIGCHLDが送信されるまでを除いて同様であるかどうか疑問にpause()思います。)waitpid() S...

Admin

待機プロセスのシグナルによってwait $ pidコマンドが中断されるのはなぜですか?
wait

待機プロセスのシグナルによってwait $ pidコマンドが中断されるのはなぜですか?

私の観察内容を適切に説明する文書が見つかりません。次のコードを実行した後、kill -SIGINT $my_pid別のシェルで実行します。最初の2回は正確に見ます#### received trap 2。ただし、waitコマンドはすべての信号で中断​​されます。なぜ? #!/bin/bash for s in {0..64} do trap "echo '#### received trap $s'" $s done ./code & pid=$! my_pid=$$ wait $pid wait $pid ...

Admin