2

我正在尝试使用 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
4

1 回答 1

1

你是如何调用 nohup 的?我 ssh 进入 Ubuntu 服务器 13.04 系统,创建测试,并发出以下命令:

nohup all_test.sh &
logout

后来,当我回来时,我能够验证测试是否一直运行(但失败了,但那是另一回事了)。

于 2013-09-10T14:29:14.640 回答