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
이것이 효과가 있기를 바랍니다.