Debian Jessie で実行すると、ps -auxwe
次のコマンドが一覧表示されます。
...
myuser 21906 0.1 0.3 106324 63640 ? Ss 03:17 0:00 proc
...
この「proc」プロセスに関する他の情報(コマンドパス)が見つかりません。 PIDは数分ごとに変わるようです。
実行すると、ls -l /proc/21906
次の情報が表示されます。
dr-xr-x--- 7 myuser myuser 4.0K Jan 5 03:21 .
drwxrwxrwt 14 root root 24K Jan 5 03:23 ..
-r-------- 1 myuser myuser 304 Jan 5 03:21 auxv
-r--r--r-- 1 myuser myuser 138 Jan 5 03:21 cgroup
-r--r--r-- 1 myuser myuser 4 Jan 5 03:21 cmdline
-rw-r--r-- 1 myuser myuser 5 Jan 5 03:21 comm
-rw-r--r-- 1 myuser myuser 9 Jan 5 03:21 coredump_filter
-r--r--r-- 1 myuser myuser 2 Jan 5 03:21 cpuset
lrwxrwxrwx 1 myuser myuser 1 Jan 5 03:21 cwd -> /
-r-------- 1 myuser myuser 243 Jan 5 03:21 environ
lrwxrwxrwx 1 myuser myuser 13 Jan 5 03:21 exe -> /usr/bin/perl
dr-x------ 2 myuser myuser 4.0K Jan 5 03:21 fd
dr-x------ 2 myuser myuser 4.0K Jan 5 03:21 fdinfo
-rw-r--r-- 1 myuser myuser 33 Jan 5 03:21 gid_map
-r-------- 1 myuser myuser 90 Jan 5 03:21 io
-r-------- 1 myuser myuser 8 Jan 5 03:21 ipaddr
-r--r--r-- 1 myuser myuser 1.3K Jan 5 03:21 limits
-r--r--r-- 1 myuser myuser 49K Jan 5 03:21 maps
-r--r--r-- 1 myuser myuser 2.3K Jan 5 03:21 mountinfo
-r--r--r-- 1 myuser myuser 1.8K Jan 5 03:21 mounts
-r-------- 1 myuser myuser 1.6K Jan 5 03:21 mountstats
dr-xr-xr-x 13 myuser myuser 4.0K Jan 5 03:21 net
dr-x--x--x 2 myuser myuser 4.0K Jan 5 03:21 ns
-r--r--r-- 1 myuser myuser 33K Jan 5 03:21 numa_maps
-rw-r--r-- 1 myuser myuser 2 Jan 5 03:21 oom_adj
-r--r--r-- 1 myuser myuser 2 Jan 5 03:21 oom_score
-rw-r--r-- 1 myuser myuser 2 Jan 5 03:21 oom_score_adj
-r--r--r-- 1 myuser myuser 9 Jan 5 03:21 personality
-rw-r--r-- 1 myuser myuser 33 Jan 5 03:21 projid_map
lrwxrwxrwx 1 myuser myuser 1 Jan 5 03:21 root -> /
-rw-r--r-- 1 myuser myuser 6 Jan 5 03:21 setgroups
-r--r--r-- 1 myuser myuser 284 Jan 5 03:21 stat
-r--r--r-- 1 myuser myuser 28 Jan 5 03:21 statm
-r--r--r-- 1 myuser myuser 823 Jan 5 03:21 status
-r--r--r-- 1 myuser myuser 69 Jan 5 03:21 syscall
dr-xr-xr-x 3 myuser myuser 4.0K Jan 5 03:21 task
-rw-r--r-- 1 myuser myuser 33 Jan 5 03:21 uid_map
このプロセスが何をしているのか、どうすればわかりますか?
修正する:
次のコマンドを実行すると、cat /proc/21906/status
次のものが返されます。
Name: proc
State: S (sleeping)
Tgid: 21906
Ngid: 0
Pid: 21906
PPid: 1
TracerPid: 0
Uid: 1001 1001 1001 1001
Gid: 1002 1002 1002 1002
FDSize: 512
Groups: 1001 1002
VmPeak: 106456 kB
VmSize: 106456 kB
VmLck: 0 kB
VmPin: 0 kB
VmHWM: 68500 kB
VmRSS: 68500 kB
VmData: 78776 kB
VmStk: 132 kB
VmExe: 8 kB
VmLib: 4880 kB
VmPTE: 220 kB
VmSwap: 10756 kB
Threads: 1
SigQ: 0/63078
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000001007eaf
SigCgt: 0000000180010000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: 0000001fffffffff
Seccomp: 0
Cpus_allowed: ff
Cpus_allowed_list: 0-7
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
voluntary_ctxt_switches: 5854
nonvoluntary_ctxt_switches: 8
PaX: pemRs
次のコマンドを実行すると、sudo ls -l /proc/21906/fd
次のものが返されます。
lr-x------ 1 myuser myuser 64 Jan 5 04:03 0 -> /dev/null
l-wx------ 1 myuser myuser 64 Jan 5 04:03 1 -> /dev/null
l-wx------ 1 myuser myuser 64 Jan 5 04:03 2 -> /dev/null
lr-x------ 1 myuser myuser 64 Jan 5 04:03 258 -> pipe:[22064822]
lrwx------ 1 myuser myuser 64 Jan 5 04:03 260 -> socket:[15935884]
l-wx------ 1 myuser myuser 64 Jan 5 04:03 263 -> pipe:[22064823]
lrwx------ 1 myuser myuser 64 Jan 5 04:03 3 -> socket:[94609374]
lrwx------ 1 myuser myuser 64 Jan 5 04:03 5 -> socket:[22343274]
この問題を解決するために時間をかけてくれた@icarusに感謝します。
答え1
@icarusが解決策を提示しました。
一時スクリプトを/usr/bin/perl
次のスクリプトに置き換えます。
#!/bin/bash
exec 7>>/tmp/procstuff
date >&7
printf ">%s<\n" "$@" >&7
ls -lR /proc/$$ >&7
cat >&7
sleep 400
その後、調査により、/tmp/procstuff
これが私のホスティングプロバイダとのプロセスであることがわかりました。
答え2
次のことを試すことができますか?
pgrep '^$' | while read pid; do
ps -f $pid
ls -l /proc/$pid/cmdline
netstat -tlp | grep '\<'$pid'\>'
echo kill $pid # remove the echo after testing
done
何もリストされていない場合は、プロセス名が何であるかを理解するのはpgrep '^$'
正常なので、それを使用してその名前のプロセスのみを見つけることができます。ps -o comm= -U myuser | od -c
pgrep
これがうまくいくことを願っています。