私は現在経験していることです。星雲チャレンジ存在するUtilize-exercises.comと課題の一つcronに依存するスクリプト。
crontab -u flag03
このジョブは他のユーザー(flag03)によって実行されており、ログインしたユーザー(level03)にはジョブを表示するために実行する権限がありません。
プロンプトは、スクリプトがcronによって実行されることを明確に示します。また、これはディレクトリ内の唯一のスクリプトなので、さらに調査することもできます/home/flag03
。
しかし、これが現実の世界であれば、このスクリプトがcronによって実行されているという事実はわかりませんでした。
したがって、問題は、権限のないユーザーの観点からジョブが実行されているかどうかをどのように検出できるかということです。
私は以下を試しました:
while true; do ps au | grep <scriptname> | grep -v grep; done;
これにより、長い間実行されているプロセスを見ることができますが、すぐに終了するプロセスはほとんど見えません。また、私はスクリプトの名前を知っていると仮定します。
具体的な環境はUbuntuです。 apt-getは利用できませんが、gccにはアクセスできます。
どんなアイデアがありますか?
ベストアンサー1
どのバージョンのUbuntuですか?を使用すると、開始されたすべてのプロセスが直系の子プロセスになるため、私が作成したcgroupをsystemd
使用できます。cron
systemd
cron
この情報を取得する1つのオプションはpsコマンドを使用することです。たとえば、次のようになります。
ps -eo user,pid,cmd,unit | grep cron.service | grep flag03