Linuxでは、起動時に実行されるプログラム(/etc/rc.local、bashrc、bash_profile、$ HOME / .config / autostart、...)を追加するために多くのファイルを変更できますか?今、反対の質問がありました。プログラムがあります。起動中にこのプログラムが実行されていることを確認できますか?
**注:プログラムは開始および終了時に一度だけ実行できます。
答え1
あなたは見ることができますアクセス時間スクリプト用。これは100%信頼できません(一部のファイルシステムがnoatime
設定される可能性があるため)。しかし、初期化スクリプトにはしばしば便利です。
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行目しか表示されない場合は、プロセスが実行されていません。
プロセスがクラッシュしたと思われる場合は使用できますatop
。の他のプロセスを見つけることができます。atop
ここ。
答え4
初期化の場所を調べて、プログラムがそこで実行するように設定されていることを確認してください。
正直なところ、プログラムが何とかなればできる実行されているが実行されているかどうかわからない場合は、実行されているかどうかを確認する唯一の機会は、実行方法があるかどうかを確認するか(たとえば、一部またはこのlocal.rc
クラスに登録されている)、結果を確認することです(たとえば、プログラムが常にファイルに接触した場合/home/someuser/a
何も触れてはいけません)。
上記ではログがないとします。