기존 스크립트의 다음 코드 조각은 xvfb
프로세스를 확인하고 해당 프로세스가 특정 포트에서 수신 대기하는지 여부를 확인하는 데 사용됩니다.
my_list=`pgrep -u $CurrentUserID -fl Xvfb | grep :${XVFBPORT}`
process_list=`pgrep -fl Xvfb | grep :${XVFBPORT}`
Xvfb 프로세스는 다음 형식으로 시작됩니다.
Xvfb :619 -fp /usr/share/fonts/X11/misc # i.e. in this case XVFBPORT is 619
분명히 이것은 우분투에서 예상대로 작동하지 않습니다. 왜냐하면 출력은 pgrep -fl Xvfb
다음과 같기 때문입니다:
4812 Xvfb
, 끝에 ":619"가 없습니다. 분명히 그것은 약간의 추가 배관 공사로 쉽게 고칠 수 있을 것 같습니다 ps
.
pgrep
스크립트에서 예상하는 출력을 제공하는 다른 배포판이나 구성이 있습니까 ?
답변1
pgrep
최신 버전의 from에는 procps-ng
이 옵션이 있습니다 -a
.
-a, --list-full
List the full command line as well as the process ID.
따라서 다음과 pgrep -afl Xvfb | grep 619
같이 인쇄되어야 합니다.
4812 Xvfb :619 -fp /usr/share/fonts/X11/mis
내 Debian Jessie(테스트)에는 이 옵션이 존재하고 설치된 패키지는 이지만 procps-ng 3.3.9
이 옵션이 도입되었을 때 버전을 찾을 수 없습니다. 옵션이 에는 있지만 procps-ng
에는 없을 수도 있습니다 procps
.