나는 다음과 같은 작업을 해왔습니다.
#!/bin/sh
NO_START=1
STEP_SIZE=1
NO_END=100
DATE_STR=$(date +%m%d_%H%M%S)
RUN_DIR=./$DATE_STR
mkdir $RUN_DIR
echo PID = $$. See $RUN_DIR/$$.log for outputs and errors.
log_file=$RUN_DIR/$$.log; exec > $log_file 2>&1; date
for i in `seq $NO_START $STEP_SIZE $NO_END`
do
./c/anExternalCProgram $RUN_DIR
done
나는 오늘 에코된 PID가 에 표시된 것과 다르다는 것을 발견했습니다 top
. 왜 그럴까요?
답변1
이를 디버깅하려면 필드를 top
선택 하고 여기로 커서를 이동한 후 을 눌러 엽니다 . 해당 상위 프로세스 ID를 실제로 보려면 다른 필드( ) 중 하나를 선택 취소해야 할 수도 있습니다 .fPPID
SpaceVIRT
를 사용하면 PPID
어떤 프로그램이 쉘을 호출했는지 알 수 있어야 합니다. 이는 아마도 프로그램의 PID일 것이며 실제로 top
.