- 论坛徽章:
- 0
|
本帖最后由 tdy218 于 2012-01-30 17:46 编辑
下面是Linux环境下的2组测试:
Shell脚本内容:- -bash-3.2$ more start_adm.sh
- #!/bin/sh
- nohup ./startWebLogic.sh > nohup_adm.out 2>&1 &
复制代码 启动后,得到其进程号为23923.
-bash-3.2$ ps -ef|grep weblogic.Server
weblogic 23923 23881 59 01:54 pts/2 00:00:24 /middleware/wls1033/jdk160_18/bin/java -server -Xms512m -Xmx768m -XX ermSize=128m -XX:MaxPermSize=128m .............. weblogic.Server
测试1. 手工关闭stdout前后的对比结果
关闭前:
-bash-3.2$ lsof -p 23923|grep nohup_adm.out
java 23923 weblogic 1w REG 253,0 5920 3871359 /middleware/base_domain/bin/nohup_adm.out
java 23923 weblogic 2w REG 253,0 5920 3871359 /middleware/base_domain/bin/nohup_adm.out
关闭后:
-bash-3.2$ lsof -p 23923|grep nohup_adm.out
java 23923 weblogic 2w REG 253,0 5920 3871359 /middleware/base_domain/bin/nohup_adm.out
测试2. 用vi编辑nohup命令的输出文件nohup_adm.out,修改里面的文本,然后保存退出(这样的事儿,我见有人干过).
保存前:
-bash-3.2$ lsof -p 23923|grep nohup_adm.out
java 23923 weblogic 1w REG 253,0 5920 3871359 /middleware/base_domain/bin/nohup_adm.out
java 23923 weblogic 2w REG 253,0 5920 3871359 /middleware/base_domain/bin/nohup_adm.out
保存后:
-bash-3.2$ lsof -p 23923|grep nohup_adm.out
java 23923 weblogic 1w REG 253,0 5920 3871359 /middleware/base_domain/bin/nohup_adm.out~ (deleted)
java 23923 weblogic 2w REG 253,0 5920 3871359 /middleware/base_domain/bin/nohup_adm.out~ (deleted)
上面的2种形式在Linux环境下,都会使stdout停止写入,但不影响进程的正常工作。但一个进程,没人动,居然也中止了stdout的输出,真是奇怪,这其中的原因真是未知啊,想搜点英文资料看看解释,换了好多关键字都没搜到理想的结果。 |
|