crontab、kill、およびtrapの使用


0

私はcrontabコマンドを学んでいます、そして、私はいくつかの試みをしています。

コマンドcrontab -eでデフォルトのcrontabファイルを編集し、毎分SIGUSR1を現在のシェルプロセス(pid 14515)に送信する行を追加し、シグナルを受信した後、デフォルトメッセージをstdoutに出力します。

次の行を追加します。

1 * * * * kill -USR1 14515 | trap "echo Sigusr1 received" SIGUSR1

しかし、しばらくして、端末に何も印刷されません。どうしましたか?このことを行うために他の方法を使用できますか?


回答:


1

これに関するいくつかの問題。まず、crontabファイル内のすべてのものは、ターミナルではなくバックグラウンドで実行されます。したがって、そこにある「エコー」は表示されません(メールで送信されない限り)。

そこにキルを残してみてください(ログアウトすると変更されることを知っていると思います)が、「トラップ」をシェルに移動します。

また、記述されているように、行は毎時1分(2:01、3:01など)にのみ実行されます。毎分何かを実行したい場合は、次のようにします。

 * * * * * kill -USR1 PID

そうそう!今では動作します!! 提案していただきありがとうございます。
Kyrol 14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.