首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux||后台运行及查看状态命令

Linux||后台运行及查看状态命令

作者头像
小汪Waud
发布2023-02-16 15:33:24
发布2023-02-16 15:33:24
9K0
举报
文章被收录于专栏:小汪Waud小汪Waud

在使用Linux运行程序的时候,常常遇到需要耗费一定时间才能完成的文件,如果在前台运行,此时坐在电脑前的你只能被迫打开其他软件进行摸鱼。

既然前台影响你操作,那不如像Windows一样,把这个进程放入后台,然后接着打下一份工!就好像正在刷慕课的你,想同时打游戏,这时只需要把开着慕课的网页放在后台并打开游戏即可。

在Windows系统下,只需要点点点,而在Linux下,一行命令即可

nohup

nohup 是 no hang up 的缩写,即不挂断的意思,此命令没有后台运行,且终端不能标准输入。

如果你正在运行一个进程,而且你觉得在关闭终端时该进程还不会结束,那么可以使用nohup命令,使服务器能够在你关闭终端之后继续运行相应的进程。

语法格式 :nohup Command [Arg] [&]

参数说明:

Command:要执行的命令。

Arg:一些参数,可以指定输出文件。

&:让命令在后台执行,终端退出后命令仍执行。

在不对输出进行设置的时候,所有的输出会被重定向到nohup.out的文件中,或者 > /dev/null 丢弃到黑洞中。

如nohup command > out.file 2>&1 &

在上述例子中,0代表stdin (standard input),1代表stdout (standard output),2代表stderr (standard error)。2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到out.file文件中。

&和nohup

&:指在后台运行,当用户退出账号或终端时,命令将一起退出。

代码语言:javascript
复制
bash 1.sh &   #运行1.sh,当退出服务器时,该命令停止

nohup:不挂断的运行,注意并没有后台运行的功能,指用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,即使我们断开SSH连接也不会影响运行。

代码语言:javascript
复制
nohup bash 1.sh   #将bash 1.sh任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell退出当前session程序将依然继续运行。

如果把nohup和&结合起来,就能使命令在后台永久的运行。

代码语言:javascript
复制
nohup bash 1.sh &>out.file 2>&1  

查看命令运行状态

命令放到后台了,我想看看它现在是个啥状态,是卡住没跑了还是正在进行,又或者是已经跑完了,该如何查看呢?

01 cat 输出文件

代码语言:javascript
复制
cat out.file   # 查看输出文件

02 top 查看进程

代码语言:javascript
复制
top -u 用户名   # 查看该用户名的进程

通过查看S(state)状态栏,可以发现有的进程是S(sleeping)休眠中,有的是R(running)进行中。

另外,Z表示僵死状态,N表示该进程优先值是负数。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小汪Waud 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • nohup
  • &和nohup
  • 查看命令运行状态
    • 01 cat 输出文件
    • 02 top 查看进程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档