LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 813|回复: 2

后台任务以user跑,出现问题,请高手指教

[复制链接]
发表于 2007-8-14 14:24:43 | 显示全部楼层 |阅读模式
我用Xmanager远程登录Fedora,以普通用户登录,在终端运行脚本内容如下:

cd ..
nohup java -Djava.library.path=./lib -Duser.language=zh -jar ./lib/esbConsole.jar &

这是一个后台服务程序,运行起来后通过控制台进行设置管理,控制台是图形界面的,启动控制台的脚本如下:

echo ESB Application Server > startup.console

就是往当前目录扔一个名为startup.console的文件,文件内容不限,这样后台服务程序循环检测如果在当前目录检测到这个文件,就启动控制台的图形管理界面,在没注销的情况下怎么都好用,注销以后想直接通过控制台设置管理

问题: 当我启动后台服务程序后,注销后重新登录,此时查看进程发现后台服务确实正在运行,但是运行启动控制台的脚本,就是往当前目录扔一个名为startup.console的文件,发现控制台图形界面没启动起来,再查看进程发现后台服务进程就被终止了,试了好几个小时也没弄明白,

前后登录我都是以相同的user登录的,是和进程优先级有关吗??还是孤儿进程? 还是因为普通用户的关系??请高手帮忙
 楼主| 发表于 2007-8-15 08:54:15 | 显示全部楼层
以root用户反复试了,也不行,情况一样,各位都没遇到过这样的问题吗??
回复 支持 反对

使用道具 举报

发表于 2007-8-20 19:27:58 | 显示全部楼层
试试把 stdin stderr 重定向到 /dev/null去。
- nohup java -Djava.library.path=./lib -Duser.language=zh -jar ./lib/esbConsole.jar &
+nohup java -Djava.library.path=./lib -Duser.language=zh -jar ./lib/esbConsole.jar >/dev/null 2>/dev/null &
实在不行的话, 你就使用 screen 吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表