Linuxの場合:通常、疑似端末は次々に割り当てられます。
今日、ラップトップを再起動した後でも、最初に開いたターミナルウィンドウ(以前は常にpts/0
でした)が突然pts/5
になったことに気付きました。
これは奇妙で、私は興味をそそられました。どのプロセスがデバイス/dev/pts/0
を占有しているかを知りたいのですが、コメントで示唆されているように、who
やlsof
、さらにはps
などの一般的なツールを使用できませんでした。 :
pf@pfmaster-P170EM:pts/6 /var/log 1115> ps auxww | grep pts/0
pf 7042 0.0 0.0 17208 964 pts/6 S+ 12:32 0:00 grep --color=auto pts/0
私がここで欠けているものは何ですか?ルーキーに感染している可能性がありますか?
fuser がインストールされていて、Sudoを使用する権限がある場合:
for i in $(Sudo fuser /dev/pts/0); do
ps -o pid= -o command= -p $i
done
例えば:
24622 /usr/bin/python /usr/bin/terminator
24633 ksh93 -o vi
私はついに、どのプロセスが疑似端末を占めるかを理解するための非常に醜い方法を見つけましたpts/0
。
スーパーユーザーとして私はcd /proc
そして次のbashコマンドを入力しました:
for pid in [0-9]* ; do \
RES=`ls -l $pid/fd/* 2>/dev/null| grep pts/0`; \
if [ -n "$RES" ]; then echo "Process $pid owns: $RES"; fi; \
done
このようにして、私の場合はpts/0
はプロセスによって占有されていました/usr/sbin/bumblebeed
。