社区编辑申请
注册/登录
详述Linux后台运行命令(三)
系统 Linux
这里继续介绍Linux后台运行命令&,这个命令比较常用,还是和前面一样,Linux后台运行命令比较一下学习,和前面两篇比较一下。

Linux后台运行命令前面介绍了cron和crontab、at这两个命令,后面这里继续介绍&,使用这个命令将不会占据终端,将进程放入后台运行。还是要讲Linux后台运行命令加以比较学习,结合举例印象更深。

&

当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。可以使用&命令把作业放到后台执行。

该命令的一般形式为:

命令&

在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。
不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。如果放在后台运行的作业会产生大量的输出,***使用下面的方法把它的输出重定向到某个文件中:

command >out.file 2>&1 &

在上面的例子中,2>&1表示所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。
当你成功地提交进程以后,就会显示出一个进程号,可以用它来监控该进程,或杀死它。

例一:

查找名为“httpd.conf”的文件,并把所有标准输出和错误输出重定向到f i n d . d t的文件中:

# find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &
[2] 7832
[1]   Done                    find /etc/ -name "httpd.conf" -print >find.dt 2>&1 &

成功提交该命令之后,系统给出了它的进程号7832。

# cat find.dt
/etc/httpd/conf/httpd.conf
[2]+  Done                    find /etc/httpd/ -name "httpd.conf" -print >find.dt 2>&1 &

查看find.dt,可以看到执行结果

例二:
在后台执行脚本,如:有一个叫psl的脚本

$ps psl &
[7878]

用ps命令查看进程

用提交命令时所得到的进程号来监控它的运行。用p s命令和g r e p命令列出这个进程:

# ps -x |grep 7832
7868 pts/0    S      0:00 grep 7832

如果系统不支持ps x命令,可以用:

# ps -ef |grep 7832
root      7866  7790  0 23:40 pts/0    00:00:00 grep 7832

在用p s命令列出进程时,它无法确定该进程是运行在前台还是后台。

杀死后台进程

杀死后台进程可以使用k i l l命令。当一个进程被放到后台运行时, s h e l l会给出一个进程号,我们可以根据这个进程号,用k i l l命令杀死该进程。该命令的基本形式为:

kill -signal [process_number]

现在暂且不要考虑其中的各种不同信号。
在杀进程的时候,执行下面的命令(你的进程号可能会不同)并按回车键。系统将会给出相应的信息告诉用户进程已经被杀死。

$kill 7832

如果系统没有给出任何信息,告诉你进程已经被杀死,那么不妨等一会儿,也许系统正在杀该进程,如果还没有回应,就再执行另外一个k i l l命令,这次带上一个信号选项:

$kill - 9 7868

如果用上述方法提交了一个后台进程,那么在退出时该进程将会被终止。下一讲还会介绍另一个Linux后台运行命令n o h u p。

【编辑推荐】

  1. 详述Linux后台运行命令(二)
  2. 全面解析Linux profile文件
  3. 深入分析Linux分区基础
  4. 全面解析Linux profile文件
  5. 详细剖析Linux防火墙配置
责任编辑:小霞 来源: 互联网
相关推荐

2010-03-09 09:40:02

Linux后台运行命令

2010-03-09 08:54:29

Linux后台运行命令

2021-06-10 09:56:09

2020-09-21 05:53:28

Linux命令&

2022-01-10 09:05:32

2009-12-23 11:11:23

Linux后台作业

2010-03-05 16:44:52

Linux终端命令

2020-09-04 15:21:29

2009-12-09 17:07:56

Linux命令

2020-11-20 06:50:19

Linux命令运维

2016-12-27 19:10:38

Linux命令启动流程

2010-03-18 15:19:27

Linux命令

2021-02-23 10:36:09

Linux命令kmdr

2009-08-28 10:55:59

linux操作系统linux学习基本命令

2018-05-09 15:03:00

同话题下的热门内容

超实用的 Linux 高级命令,运维同仁一定要懂!五种常见 Linux 系统安装包管理工具中文使用指南一学就会:如何在 Linux 中挂载远程文件系统或目录Linux下,如何自动对日志进行压缩备份?Linux内存管理(Golang实现)选择 Linux 发行版时要考虑的六个重要因素如何在 Linux 中连接到串行控制台如何在 Linux 上正确使用 cat 命令

编辑推荐

Linux系统下安装MySQL的步骤详解CentOS与Ubuntu有什么不同?Linux下如何使用minicom USB串口为什么你可能想要略过Ubuntu 17.04?Linux中7个判断文件系统类型的方法
我收藏的内容
点赞
收藏

51CTO技术栈公众号