시작 시 프로그램/스크립트가 실행되었는지 확인하세요.

시작 시 프로그램/스크립트가 실행되었는지 확인하세요.

Linux에는 시작할 때 실행되는 프로그램을 추가하기 위해 수정할 수 있는 파일이 많이 있습니다(/etc/rc.local, bashrc, bash_profile, $HOME/.config/autostart, ...). 이제 반대 질문이 생겼습니다. 프로그램이 있습니다. 시작하는 동안 이 프로그램이 실행되었는지 확인할 수 있습니까?

**참고: 프로그램은 시작 및 종료 시 한 번만 실행될 수 있습니다.

답변1

당신은 볼 수 있습니다액세스 시간스크립트를 위해. 이는 100% 신뢰할 수 없습니다(일부 파일 시스템이 noatime설정되었을 수 있으므로). 그러나 이는 일반적으로 init-scripts에 유용합니다. 예:

find /etc -type f -atime -1

나는 그것이 유용하다고 생각했습니다.꽤 오래.

답변2

pstree트리 형식으로 실행되는 프로세스의 자세한 출력을 제공합니다.

여기에서 샘플 출력

init─┬─auditd───{auditd} ├─crond ├─docker─┬─10*[bash] │ ├─docker───5*[{docker}] │ ├─docker───4*[{docker}] │ ├─2*[docker───3*[{docker}]] │ ├─start-app.sh─┬─java───40*[{java}] │ │ └─tail │ ├─start-app.sh─┬─java───81*[{java}] │ │ └─tail

답변3

다음 명령을 실행할 수 있습니다.

ps aux | grep PROCESS_NAME

예를 들어 프로세스의 ping결과는 다음과 같습니다.

user  9639  0.0  0.0   6508   732 pts/16   S+   08:44   0:00 ping 192.168.0.1
user  9641  0.0  0.1  12972  2420 pts/15   R+   08:44   0:00 grep --colour=auto ping

두 번째 줄만 표시되면 프로세스가 실행되고 있지 않음을 의미합니다.

프로세스가 충돌하는 것으로 의심되는 경우 를 사용할 수 있습니다 atop. 에 대한 다른 질문을 찾을 수 있습니다.atop 여기.

답변4

초기화 위치를 보고 프로그램이 실행되도록 설정되어 있는지 확인합니다.

솔직히 프로그램이 어떻게든 되면~할 수 있었다실행하지만 실행되었는지 여부는 알 수 없습니다. 실행되었는지 확인할 수 있는 유일한 기회는 실행 방법이 있는지(예: 일부 등에 등록되었는지 local.rc) 확인하거나 결과를 확인하는 것입니다( 예를 들어 프로그램은 항상 file 을 건드리고 /home/someuser/a다른 어떤 것도 건드리지 않아야 합니다.

위의 내용에서는 로그가 없다고 가정합니다.

관련 정보