![Linux は特定の文字列の後にプロセスから切り離されます](https://rvso.com/image/658345/Linux%20%E3%81%AF%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%81%AE%E5%BE%8C%E3%81%AB%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%8B%E3%82%89%E5%88%87%E3%82%8A%E9%9B%A2%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99.png)
そこで、Web サーバーを起動し、ステップごとに実行して標準出力に出力を行うコマンドがあります。次のようになります。
step 1...
step 2...
step 3...
server up and running on port 9000
ただし、これはユーザー入力を待機して停止し (これはタイプセーフ アクティベーターです)、コマンド ラインから起動すると終了しません。ユーザー入力を待機しているこのスクリプトからデタッチして実行させながら、親シェルを続行するにはどうすればよいでしょうか。サーバーが実行中であることがわかったらすぐにデタッチしたいと思います。
答え1
オプション 1: サーバーの実行中に、Ctrl+Z
と入力しますbg
。これCtrl+Z
により、プロセスの実行が一時停止され、bg
プロセスがバックグラウンドに送信され、新しいユーザー入力のためにシェルが解放されます。警告:サーバーは実行中のシェルに結び付けられています。そのシェルからログアウトすると、サーバーは強制終了されます。
オプション 2: を使用してスクリプトを起動しますnohup
。これにより、ターミナルから切り離された状態でスクリプトが実行されます。例: nohup ./activator
。
オプション 3: セッション内でスクリプトを起動しscreen
、 を介してセッションからデタッチしますCtrl+d
。