Linux 进程的前台/后台切换

举报
久绊A 发表于 2024/03/02 21:55:16 2024/03/02
【摘要】 前言当你用shell启动一个程序时,往往他是在前台工作的。程序会一直占用终端命令行,例如你在前台解压的时候必须等着,期间干不了别的事(除非另开一个终端)。 例如经常用连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行。简单例子在后台运行一个命令,例如使用&符号。./shella.sh &使用jobs命令查看后台作业列表。添加-l选项时,它提...

前言

当你用shell启动一个程序时,往往他是在前台工作的。程序会一直占用终端命令行,例如你在前台解压的时候必须等着,期间干不了别的事(除非另开一个终端)。 例如经常用连接到远程服务器执行脚本的时候,如果本地网络中断后,这个时候前台进程就结束了,比较的懊恼,必须重新执行。

简单例子

在后台运行一个命令,例如使用&符号。

./shella.sh &

使用jobs命令查看后台作业列表。

添加-l选项时,它提供更详细的输出,显示作业的详细信息。

jobs

jobs -l

使用fg命令将某个作业切换到前台。例如,如果作业号为1。

fg %1

使用ctrl + z)可以将一个正在前台执行的命令放到后台,并且处于暂停状态。

bg

使用bg将一个在后台暂停的命令,变成在后台继续执行。

 kill %1

使用 kill %1可以直接终止后台运行的程序。

nohup ./myscript.sh &

这个命令将执行./myscript.sh脚本,并且即使你退出当前终端,该脚本仍将继续在后台运行(利用psjobs等可以查看到)。

以防止其输出被挂断,nohup会将命令的输出追加到一个文件(默认为nohup.out)。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。