実行中のプロセスが完了したら通知

実行中のプロセスが完了したら通知

以下は、プロセスが完了/終了したときに通知を受けることに関するいくつかの質問と答えです(12) - しかし、これらはすべてユーザーがそのプロセスを自分で起動したと仮定しているため、管理スクリプトに組み込まれているアラートを使用してスクリプトを作成したり、プロセスをアラートに渡すことができます。

私の状況は、ユーザーが初期化していないプロセスの完了/終了に関する警告を受けたいと思います。つまり、私はUbuntu 12.04 LTSサーバーで多数のビデオファイルをバッチ処理しています。これらのファイルの一部の操作には時間がかかるため、特定のタスクが完了したら何らかの通知(電子メールが良いでしょう)を受け取りたいと思います。時間がかかりすぎるので、PITに基づいて一度に手動で実行するのは完璧です。

より多くの情報を提供するために - 私は特に大きなファイルを扱っています。このスクリプト自体はPythonスクリプトです(非常に複雑で、私が書いたものではなく、私が書いたいくつかのことがあります)。修正したくありません。これが最初の論理的アプローチですが)。実行中のPythonスクリプトのPIDをパラメータとしてコマンドまたはスクリプトを実行し、そのPIDを持つプロセスが実行されなくなったときに警告スクリプトにそのアクションを実行させることを想像してください。

どんなアイデアがありますか?

ベストアンサー1

このような?

(while kill -0 $pid; do sleep 1; done) && echo "finished"

$pidプロセスIDとecho "finished"プロセスが終了したときに実行するアクションに置き換えます。

たとえば、

(while kill -0 $pid; do sleep 1; done) && mail ...

おすすめ記事