
Linux(Ubuntu) 시스템에서 실행 중인 서비스의 상태를 확인할 때 다음 출력이 익숙합니다.
service status nginx
* nginx is running
최근 nginx 업그레이드 후 동일한 명령의 출력이 다음과 같이 변경되었습니다.
nginx start/running, process XXXX
XXXX
프로세스 번호는 어디에 있습니까?
service status
이런 답장 형식을 본 적이 없는데 이게 정상인지 궁금합니다. 이것은 또 다른 기준입니까, 아니면 서비스가 올바르게 설치되지 않았음을 의미할 수 있습니까?
답변1
표준이 없습니다.
service
어떤 일이 발생하는지는 명령의 특정 구현 에 따라 다릅니다.그리고어떤 서비스 관리자를 사용하고 있나요?그리고 심지어관련 서비스에는 어떤 서비스 정의가 제공되나요?
체계
systemd를 서비스 관리자로 실행하면 출력은 systemd의 출력이 되며 systemctl status
, 이는 명령(새로운 Debian/Ubuntu에서 제공)이 service
뒤에서 호출하는 것입니다.
% systemctl 상태 nginx.service ● nginx.service – 고성능 웹 서버 및 역방향 프록시 서버 로드됨: 로드됨(/lib/systemd/system/nginx.service; 활성화됨, 공급업체 기본값: 활성화됨) 활동: 2015년 8월 12일 수요일 20:16:25 CEST 23초 이후 실패했습니다(결과: 종료 코드). 프로세스: 24221 ExecStartPre=/usr/sbin/nginx -t -q -g 데몬이 시작되었습니다. (코드=종료, 상태=1/실패) 마스터 PID: 17425(코드=종료, 상태=0/성공) %
이는 Ubuntu 15 이상 및 Debian 8 이상과 같은 시스템 운영 체제(다른 운영 체제로 전환되지 않은)의 경우입니다.
작은 변형은 때때로 실제 시스템 서비스 단위 파일이 없다는 것입니다. 이 경우 systemd는 하나를 발명하고(van Smoorenburg 파일을 래핑함 rc
) Loaded:
줄은 약간 다르게 나타납니다(systemd가 그러한 단위를 생성하기 때문에 패키지 프로그램은 다음의 이름을 숨깁니다). 패키지된 van Smoorenburg 파일 이름을 선호하는 패키지 단위 파일의 단위)입니다 rc
.
분명히 systemd OS를 사용하지 않고 새로운 Debian/Ubuntu service
명령을 사용하고 있는 것 같습니다.
추가 읽기
- 레나트 페틀링(2013-10-07).
systemctl
. 시스템 매뉴얼 페이지. freedesktop.org. - https://unix.stackexchange.com/a/233581/5132
간식
system-control status
nosh 도구 세트를 사용하는 경우 출력은 nosh 도구 세트의 service
명령이 뒤에서 호출하는 의 출력이 됩니다 .
% 서비스 appcafe-nginx 상태 /var/sv/appcafe-nginx: 상태: 2019-01-12 17:58:09 +0000 16시간 33분 42초 전부터 실행 중입니다. 마스터 PID: 980 시작: 2019-01-12 17:58:06 +0000 0번 출구 16시간 33분 45초 전 실행: 2019-01-12 17:58:09 +0000 0번 출구 16시간 33분 42초 전 구성: 활성화됨 %
추가 읽기
- 조나단 데보인 폴라드(2019).
service
. 스낵 가이드. 소프트웨어. - 조나단 데보인 폴라드(2019).
system-control
. 스낵 가이드. 소프트웨어.
갑자기 나타나다
initctl status
Upstart를 서비스 관리자로 실행하면 출력은 Debian/Ubuntu가 제공하는 Upstart 명령의 출력이 됩니다 .오래된) service
명령은 다음과 같이 백그라운드에서 호출됩니다.
% initctl 상태 nginx nginx 시작/실행, 프로세스 2543 %
이는 Ubuntu 6~Ubuntu 14 및 Fedora 9~Fedora 14와 같은 Upstart 운영 체제의 경우입니다.
한 가지 문제는 Ubuntu에서 서비스에 Upstart 작업이 정의되어 있지 않으면 service
명령(이전 Debian/Ubuntu에서 제공됨)이 initctl status
van Smoorenburg 도구 세트의 동작을 호출하지 않는다는 것입니다.
이는 nginx 패키지를 nginx의 Upstart 작업 정의가 포함된 최신 패키지로 업그레이드할 때까지 시스템에서 발생하는 일입니다. 이전에는 fallback이 호출되었지만 지금은 그렇지 않습니다. 신생 작업 서류nginx 1.9 버전에 추가되었습니다.
추가 읽기
- 스콧 제임스 레넌트(2009).
status
. 업스타트 사용자 매뉴얼. 우분투. - "
initctl status
".누보 리치 요리법. 우분투. - 카메론 노먼(2014-04-22).nginx 시작 작업. 데비안 버그 #745483.
오픈RC
OpenRC를 사용하는 경우 출력은 다음의 별칭인 rc-service status
OpenRC 의 출력이 됩니다 .service
% rc-service nginx 상태 * 상태: 시작됨 %
추가 읽기
- 로이 메이플스(2009-05-01).
rc-service
. RC를 열어보세요.
반 스뮐렌버그rc
rc
van Smoorenburg 도구 세트를 사용하는 경우 하위 명령에 따라 스크립트 자체가 인쇄하는 내용이 출력됩니다 status
. 대부분의 경우, 특히 Debian 9부터 이는 대부분의 스크립트에 대한 상태 인쇄를 처리하는 일반 도우미 명령의 출력이 됩니다 rc
. 그러나 그것은 무엇이든 될 수 있으며 하위 명령을 처리하는 방법을 결정하는 것은 전적으로 스크립트에 달려 있습니다.
rc
Debian nginx 패키지에 포함된 van Smoorenburg 스크립트는 status_of_proc
Debian 쉘 스크립트 라이브러리의 도우미를 사용합니다:/lib/lsb/init-functions
% status_of_proc -p /var/run/nginx.pid /usr/sbin/nginx nginx * nginx가 실행 중입니다. %
Ubuntu는 2006년 이후 van Smoorenburg+를 사용하지 않았 init
으므로 (Debian/Ubuntu 제공) 명령을 사용하는 van Smoorenburg 동작은 rc
위에서 언급한 Upstart 문제로 인해 발생합니다. (이전) 명령은 Upstart 작업을 감지하지 못하고 상황을 van Smoorenburg로 처리하게 됩니다. (systemd나 nosh에 대한 대체 방법은 없다는 점에 유의하세요.rc
service
service
rc
안 돼요Ubuntu에서 van Smoorenburg의 rc
행동을 참조하세요. 이들 중 하나는 항상 기본 서비스처럼 실행되며 모든 것이 기본 서비스로 실행됩니다. )
추가 읽기
- LSBInitScripts/상태 지원. 데비안 위키.