ps 목록에서 ping 프로세스를 찾을 수 없는 이유는 무엇입니까?

ps 목록에서 ping 프로세스를 찾을 수 없는 이유는 무엇입니까?

일반 사용자로 "ps" 목록을 시작할 때 "ping" 프로세스를 볼 수 없는 이유는 무엇입니까?

핑 바이너리에는 setuid 비트가 있습니다.

 ls -l /bin/ping
-rwsr-xr-x 1 root root 64424 jun 28  2019 /bin/ping

백그라운드에서 ping을 실행하고,

ping google.com > /dev/null &
[1] 28193

ps를 내 사용자(enn)로 사용하여 이 프로세스를 찾아봐도 찾을 수 없습니다.

 ps -ef  | grep 28193

그리고 슈퍼유저를 사용하면 찾을 수 있습니다.

sudo ps -ef | grep 28193 | grep -v grep
enn  28193  6878  0 13:49 pts/3    00:00:00 ping google.com

사용메모관련 ID를 인쇄하면 내 {u,e,r}id/{g,e,r}id = 66973, 64000으로 ping 프로세스가 실행되고 있음을 알 수 있습니다.

내가 볼 수 있는 유일한 차이점은수에이드, 0으로 설정

sudo ps -e -o pid,uid,gid,euid,egid,ruid,rgid,suid,sgid,cmd | grep 28193 | grep -v grep

28193 66973 64000 66973 64000 66973 64000     0 64000 ping google.com

그 이유를 이해할 수 없습니다. 일반 사용자로서 프로세스를 볼 수 없는 이유를 이해하도록 누군가 도와줄 수 있습니까?

시스템 메시지: "우분투 18.04.6 LTS"

미리 감사드립니다, 나가님

답변1

여기서는 잘 작동합니다(Fedora 34). 내 Gnome 터미널의 한 탭 ping 8.8.8.8과 다른 탭에서 실행:

$ pgrep ping
295323
$ ps -ef | grep 295323 
user  295323    3772  0 18:50 pts/4    00:00:00 ping 8.8.8.8
user  295628    3726  0 18:53 pts/3    00:00:00 grep --color=auto 295323

PID를 잘못 복사하지 않았습니까? (저도 거의 절반 정도 이런 일을 겪었습니다.) 아직 실행 중입니까 ping(예: 대상을 찾을 수 없으면 실행이 중지됩니다)?

관련 정보