PID를 사용하여 서버에서 실행 중인 bash 스크립트의 파일 이름/위치 찾기

PID를 사용하여 서버에서 실행 중인 bash 스크립트의 파일 이름/위치 찾기

제가 일하는 새 회사에 대한 교육 연습으로 친구가 내 웹 서버에 스크립트를 배치했는데, 이 스크립트는 ( ͡° ͜ʖ ͡°)내 CLI 화면의 오른쪽 상단에 표시되고 서버에 포함되었습니다.

사용: ps -ef실행 중인 스크립트를 찾았습니다.

root     20071     1  0 Oct07 ?        00:03:04 bash

나는 실행하려고 :

ps -p 20071 -o comm=

어느 출력 =bash

나도 시도했다l -la /proc/20071/exe

어느 출력 =

lrwxrwxrwx 1 root root 0 Oct  7 21:03 /proc/20071/exe -> /bin/bash*

스크립트가 있다고 생각되는 위치 에 있지만 해당 폴더에 참조가 표시 usr/bin/되지 않기 때문에 분리할 수 없는 것 같습니다 .bash

저는 CLI를 처음 접했기 때문에 뭔가 분명한 것이 빠졌다는 것을 알고 있습니다. 스크립트 자체가 bash라고 합니까, 아니면 단지 표시 유형입니까? 스크립트가 .sh 파일이라고 가정하지만 확실하지 않습니다.

PID나 다른 방법을 사용하여 실행 중인 스크립트와 위치를 확인하는 방법이 있습니까?

답변1

이것은 bash 스크립트이므로 프로세스가 실행 중입니다 /bin/bash. 이것은 정상입니다.

스크립트는 bash 프로세스에 의해 열립니다. 이 프로세스에서 열린 파일을 사용 ls -l /proc/20071/fd하거나 나열합니다. lsof -p 20071기본적으로 파일 설명자 255에서 스크립트를 찾을 수 있습니다.

cat /proc/20071/fd/255

(이것이 터미널에 음성 기호와 발음 구별 부호가 나타나는 원인인지, 그리고 그것이 어떻게 나타나는지는 현재로서는 충분한 정보가 없는 별도의 질문입니다.)

관련 정보