
私が働いていた新しい会社のトレーニングの練習で、友人は私のWebサーバーにスクリプトを配置し( ͡° ͜ʖ ͡°)
ました。
使用:ps -ef
実行中のスクリプトが見つかりました。
root 20071 1 0 Oct07 ? 00:03:04 bash
私は実行しようとしています:
ps -p 20071 -o comm=
どの出力=bash
私も試しましたl -la /proc/20071/exe
どの出力=
lrwxrwxrwx 1 root root 0 Oct 7 21:03 /proc/20071/exe -> /bin/bash*
スクリプトがあると思われる場所にありますが、そのフォルダに参照が表示されないusr/bin/
ため、分離できないようです。bash
私は最初にCLIに触れたので、何か明らかなものが欠けていることを知っています。スクリプト自体がbashと呼ばれますか、それとも単に表示タイプですか?スクリプトが.shファイルであると仮定しますが、わかりません。
PIDや他の方法を使用して実行中のスクリプトと場所を確認する方法はありますか?
答え1
これはbashスクリプトなので、プロセスは実行中です/bin/bash
。これは正常です。
スクリプトは bash プロセスによって開きます。このプロセスで開かれたファイルを使用または一覧ls -l /proc/20071/fd
表示します。lsof -p 20071
デフォルトでは、ファイル記述子255でスクリプトを見つけることができる。
cat /proc/20071/fd/255
(これが端末に音声記号と発音区別符号が現れる原因なのか、そしてそれがどのように現れるかは現在としては十分な情報がない別の質問です。)