(TLDR Doug O'Neill이 strace -f -e execve ./myprogram
내 문제를 해결했습니다)
명령줄에서 프로그램을 시작합니다. 프로그램을 실행하면 프로세스가 생성됩니다. 프로그램에 의해 생성된 모든 프로세스의 이름을 보거나 기록하고 싶습니다.
세부 사항
나는 top
숲보기를 시도했다 V:
$ top -c -d 1
상위 프로그램만 잠시 표시됩니다. 새로 고침 빈도가 너무 느려 하위 프로세스를 표시할 수 없는 것 같습니다.
필터링을 시도했지만 COMMAND=myprogram
이는 하위 프로세스를 필터링할 가능성이 높습니다.
상위 프로그램은 프로세스를 생성하지만 상단의 포리스트 뷰가 원래 프로세스 아래에 들여쓰기될지 아니면 이러한 새 프로세스를 독립적으로 표시할지 확실하지 않습니다. 생성된 프로세스가 상위 프로세스와 독립적일 수 있는지 확실하지 않습니다.
업데이트 #1
나는 노력했다이 답변수면을 제거합니다.
#!/bin/bash
mkdir -p "$HOME/ps_logs"
while true; do
ps faux > "$HOME/ps_logs/ps_$(date +%Y-%m-%d_%H:%M:%S).log"
done
다음을 사용하여 출력을 필터링했습니다.
grep -rnw './' -e 'myprogam'
모든 파일에는 .만 포함되어 있습니다 . 그렇다면 프로세스가 생성되는지 myprogram
어떻게 알 수 있습니까 ?myprogram
답변1
나는 일반적으로 ps auxf
부모 프로세스 아래에 자식 프로세스를 시각적으로 표시하기 때문에 다음과 같이 사용하는 것을 좋아합니다.
$ ps auxf
...
root 637 0.0 0.0 110044 800 tty1 Ss+ 02:50 0:00 /sbin/agetty --noclear tty1 linux
root 983 0.0 0.1 404028 1136 ? Sl 02:50 0:11 /usr/sbin/VBoxService --pidfile /var/run/vboxadd-service.sh
root 1013 0.0 1.6 562416 16444 ? Ssl 02:50 0:03 /usr/bin/python -Es /usr/sbin/tuned -l -P
root 1015 0.0 0.4 105996 4108 ? Ss 02:50 0:00 /usr/sbin/sshd -D
root 20191 0.0 0.5 152116 5576 ? Ss 10:06 0:00 \_ sshd: vagrant [priv]
vagrant 20193 0.0 0.2 152304 2872 ? S 10:06 0:00 \_ sshd: vagrant@pts/0
vagrant 20194 0.0 0.2 115964 2644 pts/0 Ss 10:06 0:00 \_ -bash
root 20232 0.0 0.2 201844 2956 pts/0 S 10:06 0:00 \_ sudo -Es
root 20233 0.0 0.2 116208 2964 pts/0 S 10:06 0:00 \_ /bin/bash
root 20510 0.0 0.1 151240 1932 pts/0 R+ 11:01 0:00 \_ ps auxf
root 1115 0.0 0.2 91628 2192 ? Ss 02:50 0:00 /usr/libexec/postfix/master -w
postfix 1117 0.0 0.3 91800 4048 ? S 02:50 0:00 \_ qmgr -l -t unix -u
postfix 20149 0.0 0.3 91776 4048 ? S 09:39 0:00 \_ pickup -l -t unix -u
...
또는 PID + PGID 목록만 보려면 ps
다음과 같이 스위치를 사용할 수 있습니다.
$ ps x -o "%p %r %c"
PID PGID COMMAND
1 1 systemd
2 0 kthreadd
3 0 ksoftirqd/0
5 0 kworker/0:0H
7 0 migration/0
8 0 rcu_bh
...
...
591 591 rngd
594 594 systemd-logind
596 596 smartd
597 597 rsyslogd
600 600 acpid
616 616 abrtd
617 617 abrt-watch-log
630 630 atd
637 637 agetty
983 981 VBoxService
1013 1013 tuned
1015 1015 sshd
1115 1115 master
2426 2426 NetworkManager
2439 2439 dhclient
3123 3123 firewalld
3828 0 kworker/u2:1