How to Put Current Running Program in Background without Being T
- 时间:2020-09-11 08:23:45
- 分类:网络文摘
- 阅读:128 次
As you may know that we can use screen command to start a session when you SSH that allows you to run a few long commands that won’t terminate when the session is disconnected.
However, if you forget to do so, and you have a long-running application running, and we can follow the steps to put it in the background, which won’t be killed when the session is ended.
Let’s prepare a long-running script/application in BASH:
1 2 3 4 5 6 7 8 | $ cat someApplication #!/bin/bash while : do echo print some output sleep 2 done $ |
$ cat someApplication
#!/bin/bash
while :
do
echo print some output
sleep 2
done
$Pause the Current Running Program
You can press Ctrl + Z – which will pause the current running program:
1 2 3 4 5 6 7 8 9 | $ someApplication print some output print some output print some output .. .. Ctrl + Z <- Keyboard interrupt [1]+ Stopped ./someApplication $ |
$ someApplication print some output print some output print some output .. .. Ctrl + Z <- Keyboard interrupt [1]+ Stopped ./someApplication $
Put the Suspended Program in Background
Then, we need to run bg to put the suspened program in the background. You will see the script printing output and you will have access to the prompt.
1 2 3 4 | $ bg [1]+ ./someApplication & $ print some output $ print some output |
$ bg [1]+ ./someApplication & $ print some output $ print some output
Then Disown the Program
Then, we need to run disown command to return the ownership of the program, which should make the program keep running in the background until being killed or host rebooted.
1 2 | $ disown
$ |
$ disown $
Close the current SSH session, then login back:
1 2 | $ ps augx | grep someApplication helloacm 29695 0.0 0.0 15244 3192 ? S 19:31 0:00 /bin/bash ./someApplication |
$ ps augx | grep someApplication helloacm 29695 0.0 0.0 15244 3192 ? S 19:31 0:00 /bin/bash ./someApplication
As you can see, the application is still alive. However, we cannot bring the application back to foreground as we already lost the ownership by issuing the disown command. We can kill it to terminate it although.
1 | $ kill 29695 |
$ kill 29695
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:补充维生素C的药品维生素C片服用禁忌 维生素C缺乏症的主要表现及其治疗 素食有哪些误区素食者需要注意的问题 素食的分类及适当素食具有的保健作用 冬季咳嗽吃什么自制美味止咳小零食 冬季进补鸡汤要注意 几类人不宜喝鸡汤 芦荟的保健价值、食用禁忌及食用方法 冬季食疗养生:吃南瓜可有效治疗哮喘 食疗:有效增强男人性能力的八款药膳 枸杞保健食疗功效多补肾益精养肝明目
- 评论列表
-
- 添加评论