我想从一个脚本开始一个长时间运行的进程然后退出,但我无处可去。这是我最简单的测试。每次运行时,控制台都会被阻止5秒钟。
// Create script
me@mine:~/workspace/bin$ cat > test.sh
sleep 5
// Verify script
me@mine:~/workspace/bin$ cat test.sh
sleep 5
// Make executable
me@mine:~/workspace/bin$ chmod 777 test.sh
// Expect to wait
me@mine:~/workspace/bin$ ./test.sh
// Expect to return, still waits
me@mine:~/workspace/bin$ ./test.sh ?
// Ditto
me@mine:~/workspace/bin$ nohup ./test.sh ?
nohup: ignoring input and appending output to 'nohup.out'
me@mine:~/workspace/bin$
我正在运行Ubuntu 17.04 64, GNU bash,版本4.4.7(1)-release(x86_64-pc-linux-gnu)
我是一个Linux菜鸟,我确信我没有得到什么。任何帮助表示赞赏。
答案 0 :(得分:1)
使用&符号:nohup ./test.sh &
答案 1 :(得分:0)
看起来你的脚本正在等待某事。将脚本粘贴到此处。
答案 2 :(得分:0)
有几种方法可以做到,我的首选方法是在行尾添加&符Thing thing = new Thing();
if (thing.changeSomething()){
if (thing.shouldDoSomething()){
//do more things
}
}
。
关于&符号方法here
的更多解释