0
私の最終目標は、同時に2つのコマンドを開始することです(または、少なくとも数百msの差分を取ることです)。私はLinuxで&
について読んでいます。例の場合:2つのLinuxシェルコマンドを同時に実行しますか?
<linux_shell_cmd_1> & <linux_shell_cmd_2>
は、これが私の目標を達成するだろうか?ありがとう。
私の最終目標は、同時に2つのコマンドを開始することです(または、少なくとも数百msの差分を取ることです)。私はLinuxで&
について読んでいます。例の場合:2つのLinuxシェルコマンドを同時に実行しますか?
<linux_shell_cmd_1> & <linux_shell_cmd_2>
は、これが私の目標を達成するだろうか?ありがとう。
あなたの目標が数百ms以内にあることを考えれば、これは適切な量の負荷の下で典型的な現代的なハードウェアで必要に応じて機能するはずです。
cmd1 & cmd2 # start cmd1 in background and cmd2 in foreground
...(それが終了するのを待たずに)バックグラウンドでcmd1
を開始し、その後、フォアグラウンドでcmd2
を開始します。第二の起動処理の前に非常にわずかに開始されたいずれの場合も
cmd1 & cmd2 & # start both cmd1 and cmd2 in background
、最初を開始するプロセスを、しかし、保証はいずれかへとありません。
また、検討するかもしれません(cmd1
をcmd2
よりも呼び出すのに時間がかかる場合は、後者が実際に最初に起動するかもしれません)。
これを実現します。ただし、cmd1はバックグラウンドで実行され、cmd2はフォアグラウンドで実行されます – chenchuk
2番目のコマンドは、最初のコマンドが開始された後、できるだけ早く* *起動されます。しかし、OSスケジューラにはどれくらいの時間がかかります。スクリプトが再開されてから2番目のジョブを開始するまで、任意の時間(他のジョブのCPU時間を許可するために)中断されることがあります。 – chepner