2014-12-22 4 views
1

내가 RHEL6nohup을 작업 제어 RHEL6/CentOS는이

기본적으로

에서 UNIX 작업 제어에 대한 질문이, 내가 logrotate에를 사용하여 여객 디버그 로그 회전을 구현하기 위해 노력하고 있습니다. 여기의 지침에 따라 오전 :

내가 제대로 모든 설정을 가지고

https://github.com/phusion/passenger/wiki/Phusion-Passenger-and-logrotation

(나는 생각한다). 내 문제는 이것입니다. 내가 프로세스의 PID를 확인하면 내가 '추신 보조'를 사용하여 예를 들어, 프로세스 테이블을 검사하는 경우, 다시

nohup pipetool $HOME/passenger.log < $HOME/passenger.pipe & 

그리고 로그 아웃을 사용하여 백그라운드 작업을 산란 할 때이처럼 나타납니다 명령 'bash'. 명령의 첫 번째 줄을 "#!/usr/bin/ruby"로 변경하려고했습니다. 'pipetool'가 일치하지 않기 때문에

[[email protected]]# nohup pipetool /var/log/nginx/passenger-debug.log < /var/pipe/passenger.pipe & 
[1] 63767 
[[email protected]]# exit 
exit 
[[email protected]]$ sudo su 
[sudo] password for me: 
[[email protected]]# ps aux | grep 63767 
root  63767 0.0 0.0 108144 2392 pts/0 S 15:26 0:00 bash 
root  63887 0.0 0.0 103236 856 pts/0 S+ 15:26 0:00 grep 63767 
[[email protected]]# 

이 제공된 logrotate에 파일 (killall는 -HUP pipetool)의 선 발생 실패 여기서 이러한 예이다. 다시 말하지만, 첫 번째 줄을 #!/usr/bin/ruby로 바꾸려고했습니다. 이것은 아무런 영향을 미치지 않았습니다. 그래서, 내 질문은 기본적으로; 작업 제어를 사용하여 생성 될 때 'bash'대신 실제 명령을 프로세스 테이블에 표시하는 좋은 방법이 있습니까? 나는 pipetool을 호출 할 때 bash를 쉘로 사용하고 있습니다. 도와 주셔서 감사합니다.

+0

OS 등에 따라 'ptree $ PID'또는 ps에 대한 시각적 트리 옵션을 찾으십시오. 그런 다음 부모 프로세스 인 bash 프로세스와 자식 프로세스를 확인해야합니다. 왜 그냥'여객'흠 .... 아니면'pipetool'을 검색 할 수 없습니까? 행운을 빕니다. – shellter

답변

0

이 당신을 위해 작동합니다 : 전역 변수 $PROGRAM_NAME을 설정 pipetool 편집 :

$PROGRAM_NAME = 'pipetool' 

스크립트는 다음 프로세스 목록에서 pipetool로 표시한다.