linux 进程的前后台切换,2018-03-02 Linux 进程的前后台切换

因为用串口连接开发板,本来可以用网线连接起来,然后 ssh 登录的,但是为了进行 gsm 模块的网络测试,拔了网线就不太方便了,所以就找了一个方法,方便在一个窗口内执行多个任务。

说白了,这个方法就是用几个命令和常用的操作结合起来的。

1.1 后台执行 -- &

在命令后面空格加上 & 符号,就可以让命令后台执行了,执行之后会返回一个 序号+pid(不通系统有区别),多开后台的话一般从 1 自增:

[root@ ~]# find / -iname okjj &

[1] 7124

[root@ ~]#

1.2 Ctrl+Z 后台(进程暂停)

如果此时进程正在运行,可以直接 Ctrl+Z 将进程挂起:

[root@ ~]# ping baidu.com

PING baidu.com (123.125.114.144) 56(84) bytes of data.

64 bytes from 123.125.114.144: icmp_seq=1 ttl=49 time=43.2 ms

64 bytes from 123.125.114.144: icmp_seq=2 ttl=49 time=43.1 ms

64 bytes from 123.125.114.144: icmp_seq=3 ttl=49 time=43.0 ms

^Z

[1]+ 已停止 ping baidu.com

[root@ ~]#

2 列出所有后台进程 -- jobs

当你有太多的后台进程,但忘记了他们的序号,可以利用命令 jobs 列出所有后台进程(只列出用户置与后台的进程):

[root@ ~]# jobs

[1]+ 已停止 ping baidu.com

3 使后台的挂起进程继续运行 -- bg

如果你是用 Ctrl+Z 将进程转移到后台,进程会暂停,这时只要利用 bg %num 就可以把序号为num的进程继续运行起来:

[root@ ~]# bg %1

[1]+ ping baidu.com &

[root@ ~]# 64 bytes from 123.125.114.144: icmp_seq=4 ttl=49 time=43.3 ms

64 bytes from 123.125.114.144: icmp_seq=5 ttl=49 time=43.1 ms

4 将后台进程转到前台运行 -- fg

利用命令 fg 可以把后台命令转到前台运行,并且以挂起的进程会继续运行:

[root@ ~]# fg %1

ping baidu.com

64 bytes from 123.125.114.144: icmp_seq=6 ttl=49 time=43.2 ms

64 bytes from 123.125.114.144: icmp_seq=7 ttl=49 time=43.3 ms

5 结束进程

如果你想结束某个进程,可以将其转为前台再操作,或者直接 kill 掉就行了。

6 ps 进程状态

ps 可以列出进程的状态,当进程被后台挂起时,它的状态是 T.

ps aux 或 lax 输出的解释:

USER 进程的属主;

PID 进程的ID;

PPID 父进程;

%CPU 进程占用的CPU百分比;

%MEM 占用内存的百分比;

NI 进程的NICE值,数值大,表示较少占用CPU时间;

VSZ 进程虚拟大小;

RSS 驻留中页的数量;

TTY 终端ID

STAT 进程状态(有以下几种):

D 无法中断的休眠状态(通常 IO 的进程);

R 正在运行可中在队列中可过行的;

S 处于休眠状态;

T 停止或被追踪;

W 进入内存交换(从内核2.6开始无效);

X 死掉的进程(从来没见过);

Z 僵尸进程;

刚才的 ping 命令, T 就代表是挂起的程序,没有在运行:

[root@ ~]# ps aux | grep ping

root 12514 0.0 0.0 14948 1832 pts/30 T 18:02 0:00 ping baidu.com

在利用 & 后台运行一个,S 其实在这里不能说是休眠,只是在后台运行:

[root@ ~]# ping csdn.net &

[2] 13150

一堆的ping输出....

[root@ ~]# ps aux | grep ping

root 12514 0.0 0.0 14948 1832 pts/30 T 18:02 0:00 ping baidu.com

root 13150 0.0 0.0 14948 1824 pts/30 S 18:05 0:00 ping csdn.net

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值