起動時にプログラム/スクリプトが実行されたかどうかを確認しますか?

起動時にプログラム/スクリプトが実行されたかどうかを確認しますか?

Linux では、起動時に実行されるプログラムを追加するために変更できるファイルがたくさんあります (/etc/rc.local、bashrc、bash_profile、$HOME/.config/autostart など)。ここで逆の質問があります。プログラムがあるのですが、起動時にこのプログラムが実行されたかどうかを確認できますか?

**注: プログラムは起動時と終了時に1回実行できます

答え1

あなたはアクセス時間スクリプト用。これは100%信頼できるものではない(ファイルシステムによってはnoatime設定されている場合があるため)。しかし、通常はinitスクリプトには役立つ。例:

find /etc -type f -atime -1

私はそれが役に立つと感じましたかなり長い間

答え2

pstree実行中のプロセスの詳細な出力をツリー形式で提供します。

サンプル出力はこちら

init─┬─auditd───{auditd} ├─crond ├─docker─┬─10*[bash] │ ├─docker───5*[{docker}] │ ├─docker───4*[{docker}] │ ├─2*[docker───3*[{docker}]] │ ├─start-app.sh─┬─java───40*[{java}] │ │ └─tail │ ├─start-app.sh─┬─java───81*[{java}] │ │ └─tail

答え3

次のコマンドを実行できます:

ps aux | grep PROCESS_NAME

たとえば、pingプロセスの場合、結果は次のようになります。

user  9639  0.0  0.0   6508   732 pts/16   S+   08:44   0:00 ping 192.168.0.1
user  9641  0.0  0.1  12972  2420 pts/15   R+   08:44   0:00 grep --colour=auto ping

2 行目だけが表示される場合は、プロセスが実行されていないことを意味します。

プロセスがクラッシュしていると思われる場合は、 を使用できますatopatop ここ

答え4

初期化場所を確認し、プログラムが実行するように設定されているかどうかを確認します。

正直に言うと、もしこのプログラムができた実行されますが、実行されるかどうかはわかりません。実行されたかどうかを確認する唯一の方法は、実行する方法があったかどうかを確認するか(たとえば、何かに登録されているlocal.rcかなど)、結果を確認することです(たとえば、プログラムは常にファイルにアクセスし/home/someuser/a、他のものはアクセスすべきではありません)。

上記はログがないことを前提としています。

関連情報