1.软文推荐

2.软文推荐

3.软文推荐

学过linux的童鞋们都知道,在命令行中启动某个任务有两种方式,一种是前台,一种是后台。 一般来说,对于短时任务,我们以前台方式运行,在这种方式下,任务运行结束后用户会再次回到命令行; 而对于长时任务,一般希望以后台方式运行,这样做的好处是,当用户退出命令行时并不影响任务运行。

对于任务的管理,我们一般有如下几个需求:

将进程切换到前台

将进程切换到后台

查看后台任务

终止后台任务

为了演示这几个需求,我们搬出伟大的 Hello World 程序:

root@jaking-virtual-machine:~# ls -l
#这三个脚本源码相同
total 12
-rwxr-xr-x 1 root root 70 Feb 21 17:25 HelloWorld1.sh
-rwxr-xr-x 1 root root 70 Feb 21 17:25 HelloWorld2.sh
-rwxr-xr-x 1 root root 70 Feb 21 17:26 HelloWorld3.sh
root@jaking-virtual-machine:~# cat HelloWorld1.sh
#!/bin/bash

while true
do
   echo "Hello World!"
   sleep 1
done

开启后台任务

root@jaking-virtual-machine:~# ./HelloWorld1.sh > test1.txt &
[1] 65139
root@jaking-virtual-machine:~# ./HelloWorld2.sh > test1.txt &
[2] 65145
root@jaking-virtual-machine:~# ./HelloWorld3.sh > test1.txt &
[3] 65155

jobs -l 查看后台任务

root@jaking-virtual-machine:~# jobs -l
[1]  65139 Running                 ./HelloWorld1.sh > test1.txt &
[2]- 65145 Running                 ./HelloWorld2.sh > test1.txt &
[3]+ 65155 Running                 ./HelloWorld3.sh > test1.txt &

fg 把指定的后台任务调到前台

root@jaking-virtual-machine:~# fg %2
./HelloWorld2.sh > test1.txt
^Z
#Ctrl + Z将前台任务切到后台并停止运行
[2]+  Stopped                 ./HelloWorld2.sh > test1.txt
root@jaking-virtual-machine:~# jobs -l
[1]  65139 Running                 ./HelloWorld1.sh > test1.txt &
[2]+ 65145 Stopped                 ./HelloWorld2.sh > test1.txt
[3]- 65155 Running                 ./HelloWorld3.sh > test1.txt &

bg 使后台停止运行的任务重新运行

root@jaking-virtual-machine:~# bg %2
[2]+ ./HelloWorld2.sh > test1.txt &
root@jaking-virtual-machine:~# jobs -l
[1]  65139 Running                 ./HelloWorld1.sh > test1.txt &
[2]- 65145 Running                 ./HelloWorld2.sh > test1.txt &
[3]+ 65155 Running                 ./HelloWorld3.sh > test1.txt &

kill 杀掉后台进程

root@jaking-virtual-machine:~# kill 65145
root@jaking-virtual-machine:~# jobs -l
[1]  65139 Running                 ./HelloWorld1.sh > test1.txt &
[2]- 65145 Terminated              ./HelloWorld2.sh > test1.txt
[3]+ 65155 Running                 ./HelloWorld3.sh > test1.txt &
root@jaking-virtual-machine:~# kill %3
root@jaking-virtual-machine:~# jobs -l
[1]- 65139 Running                 ./HelloWorld1.sh > test1.txt &
[2]- 65145 Terminated              ./HelloWorld2.sh > test1.txt
[3]+ 65155 Terminated              ./HelloWorld3.sh > test1.txt

本文来源:www.lxlinux.net/4026.html,若引用不当,请联系修改。

相关文章 8

1

dnspod企业版(dnspod服务器) 2分钟前

目录:1、dnspod购买个人套餐不能开企业发票,那么我如何注册企业账号啊??2、dnspod是什么意思3、DNSPod的强大之处在哪里?4、dnspod动态...

2

QEMU-KVM中的多线程压缩迁移技术 4分钟前

目前的迁移技术,都是通过向QEMUFILE中直接写入裸内存数据来达到传送虚拟机的目的端,这种情况下,发送的数据量大,从而会导致更高的迁...

4

Linux下安装GLIBC具体步骤 8分钟前

Linux下如何安装GLIBC? Glibc 是提供系统调用和基本函数的 C 库,比如open, malloc, printf等等。所有动态连接的程序都要用到它,下面为大家分享...

6

程序员与项目经理达到和睦相处 10分钟前

作为一名程序员:你是否经常被要求在同一时间完成多个deadline?你是否经常被要求干与专业不相干的活?或者是被要求快速上手其他软件业...

7

俄罗斯vps速度快吗(俄罗斯vps5元) 13分钟前

目录:1、VPS主机好用吗,速度快吗2、谁来科普一下,香港,俄罗斯,新加坡,日本,韩国的vps3、俄罗斯vps推荐4、俄罗斯服务器租用怎么样...

8

Linux下部署软Raid 14分钟前

Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性,目前市面上比较常...