複数の VM を持つホストをセットアップしています。これで、各 VM で個別に実行する C プログラムを作成し、このプログラムをホストからリモートで開始したいと考えています。
問題は、このプログラムを開始すると、新しいフォークされた子プロセスが作成されることです (プログラムには fork() を含むコードがあります)。したがって、次のスクリプトを使用してこのプログラムを開始すると:
Run.sh (これはホストで実行されます):
ssh VM1 'プログラム開始'
ssh VM2 'プログラム開始'
ssh VM3 'プログラム開始'
スクリプトは、1 行目 (ssh VM1 "program start") の実行後に停止します。これは、フォークの子プロセスが開始されて実行され、終了しない限り、呼び出し元の sh スクリプトを続行できないために発生すると思います。
その結果、プログラムは VM1 でのみ開始され、Run.sh スクリプトが動かなくなります。
誰でもこれを修正する方法を知っていますか?