当前位置: 首页 > 工具软件 > bg.work > 使用案例 >

linux work有关的命令,Linux执行后台work相关

曾涵育
2023-12-01

Linux的后台运行、关闭、查看后台任务

&

ctrl+z

jobs

fg

bg

kill

nohup

setsid

disown

screen

1.&

加在命令的最后,可以把命令放到后台执行:

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

2.ctrl+z

可以将一个在前台运行的命令放到后台,且处于暂停状态

3.jobs

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

jobs -l选项可显示所有任务的PID,jobs的状态可以是running、stopped、terminated。

但是如果任务被终止了(kill),shell从当前的shell环境已知的列表中删除任务的进程标识

jobs命令选项

-l 列出进程ID及其他信息

-p 仅列出进程ID

-n 仅列出自从上次输出状态变化提示后的发生了状态变化的进程

-r 仅显示运行中的作业

-s 仅显示停止的作业

-x 运行命令及其参数,并用新的命令的进程ID替代所匹配的原有作业的进程组ID

4.fg

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

# jobs -l

[2] - stopped ....

[3] + stopped ...

# fg 2

5.bg

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

6.kill

1.通过jobs命令查看job号,然后执行kill %num

2.通过ps命令查看job的进程号(pID),然后执行kill pid,前台进程的终止ctrl+c

7.nohup

若始终让进程在后台运行,即使关闭当前的终端也执行(&是做不到的),这是需要使用nohup

此命令可以让退出账户/关闭终端之后继续运行相应的进程。

nohup ping wwww.baidu.com

8.setsid

nohup通过忽略HUO信号来使进程中途被中断,但如果我们换个角度思考,若进程不属于接受HUP信号的终端的子进程,setsid就可以说实现

# setsid ping www.baidu.com

9.disown

在不停止进程的情况下使提交的命令避免HUP信号的影响

disown -h jobspec 来使某个作业忽略HUP信号

disown -ah 来使所有的作业都忽略HUP信号

disown -rh 来使正在运行的作业忽略HUP信号

注:当使用disown之后,会把目标作业从作业列表中移除,不能再使用jobs查看,但是还可以通过ps -aux查看

10.screen

screen提供了ANSI/VT100的终端模拟器,能够在一个真实终端下运行多个全屏的伪终端。screen的参数很多,具有很强大的功能

```

screen option

screen -dmS session name 来建立一个处于断开模式下的回话

screen -list 列出所有会话

screen -r session name 重新连接执行会话

crtl+a+d 来暂时断开当前会话

原文:https://www.cnblogs.com/l-mac/p/11522468.html

 类似资料: