`atq`は昨日実行されたジョブでもリストします。

`atq`は昨日実行されたジョブでもリストします。

atこのフラグを使用してスクリプトを実行するタスクを作成しました-f。このスクリプトはTomcatを再起動します。仕事はFeb 21 18:00:00 2022昨日行われる予定でした。当時、Tomcatが再起動されたことを確認しました。ただし、今日実行すると、次の結果atqが表示されます。

3   Mon Feb 21 18:00:00 2022 = alexander

atq仕事だけがリストされていることがわかっていますpending。昨日の仕事がリストに表示されるのはなぜですか?

修正する:

スクリプトを確認したところ、tail最終的に終了しない内容が含まれています。これは決してやめられない職業につながる可能性があります。出力は.にありますが、/var/spool/at/spool/a0000301a27604ファイルの最後の変更時刻はです2022-02-21 23:40:33.534191768。私はこれが尾の最後の出力が到着する場所であることを発見しました。まだ実行中のジョブのプロセスIDを取得するには?

答え1

ご質問の最新版は「まだ実行中のジョブのプロセスIDを取得するには?

pgrep atd
525

pstree -p 525
atd(525)───atd(6729)───sh(6738)───sleep(6739)

または、両方のコマンドを安全に組み合わせてください。

pgrep atd | xargs -n1 -r pstree -p

関連情報