実行する必要のあるコマンドがいくつかあります。これらのコマンドは、インターフェイスを終了した後も継続的に実行する必要があります。 Linux GUIにアクセスできるときは、次のようなことを実行します。
cd /home/testuser/Scripts*
xterm -hold -T "Background_Script1" -e "service1-start.sh" &
sleep 10
xterm -hold -T "Background_Script2" -e "service2-start.sh" &
どんな助けでも大歓迎です。
試してみてください
Nohup Background_ScriptX&
Nohupは、端末が閉じられたときにプロセスが終了しないことを保証します。 &記号は、プロセスをバックグラウンドにプッシュします。
これがお役に立てば幸いです。
後日出力を読みたい場合は、screen
を使用できます。
screen -d -m my_command
これにより、後で接続できる分離された端末が提供されます(screen -r
)stdout/stderr出力を読み取ります。
Nohup
コマンドが使用できない場合の別のオプションは、 disown コマンドを使用することです。
まず、ターミナルでjobs
を実行して、バックグラウンドタスクを表示できます。そこから求人番号を取得できます。
disown %[job number]
を実行するだけで、プロセスは現在のターミナルから切り離され、ログアウトしても存続します。
補足:正しい質問をしていることを確認してください。サンプルで示唆しているように実際のサービスを実行している場合は、選択したOSでデーモンを作成する方法を調べたいと思うかもしれません。これは、再起動後もプロセスが実行されていることを確認し、他のサービスとの一貫性を高めるためです。
お役に立てれば。
screen
が言及されているので、他のターミナルマルチプレクサがあります。私はtmux
がとても好きです。たとえばこの他のスーパーユーザーの質問、 tmux vs screen 比較のため。
setsid
Setidはバックグラウンドプログラムでも機能し、ターミナル/ sshセッションが切断された後も実行を継続できるようにします。
次のように使用します。
setsid program-to-background