linux后台运行程序

一.nohup

基本用法:
进入要运行的py文件目录前

nohup python  -u p.py > test.log 2>&1 & 

*含义解释:
nohup  不挂起的意思
python  p.py   python运行p.py文件

-u     代表程序不启用缓存,也就是把输出直接放到log中,没这个参数的话,log文件的生成会有延迟

> p.log  将输出日志保存到这个log中

2>1        2与>结合代表错误重定向,而1则代表错误重定向到一个文件1,而不代表标准输出; 
2>&1     换成2>&1,&与1结合就代表标准输出了,就变成错误重定向到标准输出.

&         最后一个& ,代表该命令在后台执行

*命令运行后会有提示,示例:
[1]   2880

代表进程2880中运行。

*查看nohub命令下运行的所有后台进程:
jobs

*查看后台运行的所有进程:
ps -aux

*查看后台运行的所有python 进程:
ps aux |grep python
或者
ps -ef | grep python

 *删除进程
kill -9  [进程id]

-9  的意思是强制删除

二、ctrl + z

  • 可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

三、jobs

查看当前有多少在后台运行的命令

jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。


四、fg

  • 将后台中的命令调至前台继续运行。如果后台中有多个命令,可以用fg %jobnumber(是命令编号,不是进程号)将选中的命令调出。


五、bg


将一个在后台暂停的命令,变成在后台继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。


六、kill


法子1:通过jobs命令查看job号(假设为num),然后执行kill %num
法子2:通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid
前台进程的终止:Ctrl+c

七、watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本

加在一个命令的最后,可以把这个命令放到后台执行,如
watch -n 10 sh test.sh & #每10s在后台执行一次test.sh脚本

尊重作者转载请说明出处
内容:linux后台运行程序
URL:https://www.daadn.cn/archives/137.html
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇