私はMobaXtermのLinuxでrclone syncを使っていくつかの大容量データセットをGoogleドライブにコピーしています。私が提出した作品は次のとおりです。
-cpu:~$ nohup rclone sync /path_to_source/. /path_to_destination &
[1] 16310
ジョブの状態を表示するために「ジョブ」を実行すると実行中です。
-cpu:~$jobs
[1]- Running nohup rclone sync /path_to_source `/path_to_destination &`
ただし、数時間後に何らかの理由でセッションが停止することがあります。
Session stopped
- Press <return> to exit tab
- Press R to restart session
- Press S to save terminal output to file
Server unexpectedly closed network connection
だからセッションを再開してログインして「タスク」を実行しましたが、何も表示されませんでした。
-`cpu:~$jobs`
-`cpu:~$
nohupを使用していて、上で同じ同期コマンドラインを実行したときにまだ複製していたので、これはまだ完了していません。
セッションを再開してジョブを使用した後に実行中のジョブを表示できないのはなぜですか?それとも職場IDでどのように見えますか?ありがとうございます。
ベストアンサー1
組み込みjobs
コマンド/ユーティリティ/シェルは、現在のシェルセッションに関連する操作のみを一覧表示します。これPOSIX仕様次の動作を定義します。
説明する
ジョブ・ユーティリティーは、現在のシェル環境で開始されたジョブの状況を表示する必要があります。シェル実行環境をご覧ください。
元のセッションが中断され、システムに再接続すると、他のセッション(または混乱を避けるために別の「シェル実行環境」)が終了します。この新しいセッションでは、シェルは前のセッションで開始された操作を追跡しません。
コマンドをバックグラウンドで実行するために演算子nohup
と一緒にこのコマンドを使用したので、システムで実行され続けることがわかります。&
実行中の場合は、ps -ef | grep rclone
実行中のプロセスを表示する必要があります。
関連品質検査:jobsコマンドがシェルスクリプトで機能しないのはなぜですか?、「jobs」コマンドには停止したジョブは表示されません。。