首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nohup作业控制rhel6/centos

nohup作业控制rhel6/centos
EN

Stack Overflow用户
提问于 2014-12-23 05:35:48
回答 1查看 198关注 0票数 1

我有一个关于RHEL6中UNIX作业控制的问题

基本上,我正在尝试使用logrotate实现乘客调试日志轮换。我按照这里的说明进行操作:

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

我已经把所有东西都设置好了(我想)。我的问题是:当我使用

代码语言:javascript
复制
nohup pipetool $HOME/passenger.log < $HOME/passenger.pipe &

然后注销并重新登录,如果我检查进程表,例如使用'ps aux‘,如果我检查进程的pid,它将显示为使用命令'bash’。我尝试将命令的第一行改为"#!/usr/bin/ruby“。下面是一个这样的例子:

代码语言:javascript
复制
[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作为shell,当我调用pipetool的时候。感谢你抽出时间来帮助我。

EN

回答 1

Stack Overflow用户

发布于 2015-01-09 19:09:36

这应该适用于您:编辑pipetool以设置全局变量$PROGRAM_NAME

代码语言:javascript
复制
$PROGRAM_NAME = 'pipetool'

然后,该脚本应在进程列表中显示为pipetool

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27610786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档