У меня есть вопрос об управлении заданиями UNIX в RHEL6.
По сути, я пытаюсь реализовать ротацию журнала отладки пассажиров с помощью logrotate. Я следую инструкциям здесь:
https://github.com/phusion/passenger/wiki/Phusion-Passenger-and-logrotation
У меня все настроено правильно (я думаю). Моя проблема в следующем; когда я запускаю фоновое задание, используя
nohup pipetool $HOME/passenger.log < $HOME/passenger.pipe &
А затем выйдите из системы и снова войдите, если я проверю таблицу процессов, например, с помощью «ps aux», если я проверю pid процесса, который отображается как с командой «bash». Я попытался изменить первую строку команды на «#!/usr/bin/ruby». Вот пример этого:
[root@server]# nohup pipetool /var/log/nginx/passenger-debug.log < /var/pipe/passenger.pipe &
[1] 63767
[root@server]# exit
exit
[me@server]$ sudo su
[sudo] password for me:
[root@server]# 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
[root@server]#
Когда это происходит, строка в предоставленном файле logrotate ( killall -HUP pipetool ) завершается ошибкой, поскольку не соответствует 'pipetool'. Опять же, я попытался изменить первую строку на #!/usr/bin/ruby. Это не повлияло. Итак, мой вопрос в основном; есть ли хороший способ, чтобы фактическая команда отображалась в таблице процессов, а не просто «bash» при порождении с помощью управления заданиями? Я использую bash в качестве оболочки, когда вызываю pipetool. Я ценю, что вы нашли время, чтобы помочь мне.
ptree $PID
или параметр визуального дерева для ps. Затем вы должны увидеть родительский процессbash
, а также его дочерние процессы. Почему нельзя просто поискатьpassenger
хммм.... илиpipetool
? Удачи. - person shellter   schedule 23.12.2014