홈>
로그 파일을 구문 분석하여 PID를 수집 한 다음 해당 PID가 실행 중인지 확인하는 Perl 스크립트를 작성 중입니다. 확인하는 가장 좋은 방법을 생각하고 있습니다. 분명히, 나는 다음과 같은 것을 할 수 있습니다 :
system("ps $pid > /dev/null") && print "Not running\n";
그러나 가능하면 시스템 호출을 피하고 싶습니다. 나는
/proc
를 사용할 수 있다고 생각
파일 시스템 (이동성은 문제가되지 않으며, 항상 Linux 시스템에서 실행됩니다). 예를 들면 다음과 같습니다.
if(! -d "/proc/$pid"){
print "Not running\n";
}
안전합니까?
/proc/$pid/
가 없다면 항상
연결된 PID가 실행되고 있지 않은 디렉토리? 나는 AFAIK
ps
이후 그렇게 기대
자체는
/proc
에서 정보를 얻습니다.
어쨌든 이것은 프로덕션 코드 용이므로 확실하고 싶습니다.
따라서 실행중인 프로세스에
/proc/PID
가없는 경우가있을 수 있습니다
디렉토리 또는
/proc/PID
디렉토리가 존재하고 프로세스가 실행되고 있지 않습니까?
ps
파싱을 선호하는 이유가 있습니까?
디렉토리가 있는지 점검하는 중입니까?
- 답변 # 1
관련 자료
- 주어진 점이 사각형 안에 있는지 아니면 파이썬을 사용하지 않는지 확인하는 방법은 무엇입니까?
- Mac 터미널에서 mysql이 실행중인 포트를 확인하는 방법은 무엇입니까?
- SQL 열 내의 모든 값이 동일한 지 확인하는 방법은 무엇입니까?
- 배열의 숫자가 주어진 숫자보다 큰지 확인하십시오
- android - 탐색 구성 요소 - 조각이 새로 탐색되었는지 여부를 확인하는 방법
- c++ - 주어진 이름으로 실행중인 프로세스 수를 계산하는 방법은 무엇입니까?
- gremlin - 두 정점이 연결되어 있는지 확인하기위한 효율적인 쿼리가 필요하십니까?
- 내 응용 프로그램에 안드로이드에서 자동 시작 권한이 있는지 확인할 수있는 방법이 있습니까
- javascript - 배열 만 사용하여 지정된 방사성 내부의 점 확인
- kdb - 기호가 특정 접두어로 시작하는지 확인
- java - 데이터베이스에 날짜가 있는지 확인
- angular - '@Input ()'이 주어 졌는지 언제 확인할 수 있습니까?
- python - 단어의 매핑이 주어지면 두 문장이 전이적이고 반복적인지 확인하는 방법
- c# - 세포가 반지름 안에 있는지 확인하는 피타고라스 정리
- java - 배열에서 키 번호가 반복되는지 확인하는 방법은 무엇입니까?
- Rust가 테스트 빌드를 실행하고 있는지 확인
- swift - 문자열이 모두 소문자인지 확인하는 방법?
- SQL groupy by 내의 모든 값이 다른지 확인한 다음 모두 반환하는 방법은 무엇입니까?
- 목록 전체를 살펴보고 프롤로그에 항목이 있는지 확인
- google sheets - IMAGE 수식에 사용 된 URL이 정확하고 이미지가 표시되는지 확인하는 방법은 무엇입니까?
펄 함수
kill(0,$pid)
사용할 수 있습니다.반환 코드가 1이면 PID가 존재하며 신호를 보낼 수 있습니다.
반환 코드가 0이면 $!를 확인해야합니다. 프로세스가 존재 함을 의미하는 EPERM (권한 거부)이거나 프로세스가 존재하지 않는 경우 ESRCH 일 수 있습니다.
확인 코드가
root
로 실행중인 경우 그런 다음 kill 리턴 코드를 확인하여이를 단순화 할 수 있습니다. 0 =>오류, 1 =>확인예 :
이것은 간단한 기능으로 만들 수 있습니다
/proc/PID