我正在尝试使用nohup在一夜之间运行tcltest脚本。但是,tcltest似乎禁用nohup的功能,并且在关闭shell后总是终止我的tcltest进程。
实施例,
[root @ demo test] #cat 0199.test
package require tcltest
namespace import ::tcltest::*
test Dummy {} -body {
for { set i 1 } { $i < 3000 } { incr i } {
puts "round $i"
after 5000
}
} -result 0
cleanupTests
[root @ demo test] #cat all_test.sh
#!/usr/bin/expect -f
package require tcltest
namespace import ::tcltest::*
runAllTests
[root @ demo test] #cat nohup.out
Tests running in interp: /usr/bin/tclsh
Tests located in: /root/autotest/branches/2.3/test_suites/300_Cocktail/test
Tests running in: /root/autotest/branches/2.3/test_suites/300_Cocktail/test
Temporary files stored in /root/autotest/branches/2.3/test_suites/300_Cocktail/test
Test files run in separate interpreters
Running tests that match: *
Skipping test files that match: l.*.test
Only running test files that match: *.test
Tests began at Tue Sep 10 14:49:36 CST 2013
0199.test
round 1
round 2
round 3
round 4
round 5
round 6
round 7
Test file error: child killed: hangup
Tests ended at Tue Sep 10 14:50:11 CST 2013
all_test.sh: Total 0 Passed 0 Skipped 0 Failed 0
Sourced 1 Test Files.
Test files exiting with errors:
0199.test
答案 0 :(得分:1)
你是怎么援引nohup的?我进入一个Ubuntu服务器13.04系统,创建测试,并发出以下命令:
nohup all_test.sh &
logout
后来,当我回来时,我能够验证测试是否一直运行(并且失败了,但这是另一个故事)。