Ctrl + Cの後にmakeを再開できますか?

Ctrl + Cの後にmakeを再開できますか?

スーパーコンピュータクラスタにgccバージョン5.1をインストールしています。これを設定してmakeコマンドを実行します。数時間が経ちましたが、長いインストールのためにまだ実行されています。Ctrl+を使用してmakeを終了し、C明日の朝にmakeを再実行すると、中断された部分から再開されますか?それとも最初からやり直す必要がありますか? makeを中断すると問題やエラーが発生しますか?

ベストアンサー1

Ctrl+を押すと、C端末で実行されているプロセス(技術的にはプロセスグループ)が終了します。あなたはそれを復活させることはできません。あなたができることは再実行するだけです。

実行にはmake複数のステップが含まれ、各ステップではファイルをコンパイルしたり、一部のファイルをリンクしたり、テストを実行したりします。Ctrl+を押すとC現在のステップはキャンセルされますが、前のステップのデータはすべてそのまま残ります。 makeユーティリティは、どのステップが実行され、再度実行する必要がないかをすばやく把握するように設計されています。したがって、再実行するとmake状況が分析され、短時間(大規模プロジェクトの場合は数秒程度)に中断された部分から再開されます。

マシンが夜間に再起動しない場合は、夜間にログアウトしても引き続きコマンドを実行できます。ターミナルマルチプレクサを起動します。画面またはマルチプレクサ。たとえば、端末で次を実行します。

screen

これにより、端末に新しいシェルが開きます。ここから適切なディレクトリに切り替え、を入力makeして+を押してCtrlスクリーンセッションを終了しますA d。元のシェルプロンプトに戻りますが、画面上のコマンドはまだ実行中です。次のコマンドを実行すると、ログアウトして再度ログインし、まだ実行中のスクリーンセッションに再接続できます。

screen -rd

おすすめ記事