【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(四)进程切换命令

简介: 【Linux】【操作】Linux操作集锦系列之三——进程管理系列之(四)进程切换命令
  • 本系列文章,将整理一系列Linux环境下进程相关的操作命令,包括进程启动、kill、挂起、查看、前后台进程切换等各种命令。


  • 本文为本系列的第四篇,进程的切换,主要关注如何在前后台切换一个作业。


ctrl + z


  • 可以将一个正在前台执行的命令放到后台,且处于暂停状态,不可执行;


  • 一般和bg命令配合使用:先ctrl + z再bg,这样进程就被移到后台运行,终端还能继续接受其他命令;


&


  • 加在一个命令的最后,可以把这个命令放到后台执行 ,如:


[qxhgd@localhost ~]$ sudo vsftpd &
[1] 2368


jobs


  • 作业控制中的关键命令是jobs命令,jobs可显示 Linux 中的任务列表及任务状态,包括后台运行的任务(包括使用ctrl+z或&操作过的任务);


  • jobs命令中输出有加号和减号,带加号的作业被当做默认作业,带减号的为下一个默认作业;


  • 该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。


  • jobs 只限于某个控制台,控制台间彼此不通用,A控制台中的job ,在B控制台用jobs 看不到 ,但是用ps -aux 可以看到相应进程;


  • job 不管是在前台还是在后台,也不管什么状态,其依赖于所在的控制台,关闭控制台后所有job 将不复存在;


  • job在后台运行时,不会被ctrl+c中断,但是输出仍然会显示到屏幕上,如果不希望输出,则可借助/dev/null设备;


[qxhgd@localhost ~]$ jobs
[1]-  Stopped                 top
[2]+  Stopped                 top


fg


  • 将后台中的命令调至前台继续运行;


  • 如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid);


[qxhgd@localhost ~]$ sudo vsftpd&
[1] 8103
[1]+  Stopped                 sudo vsftpd
[qxhgd@localhost ~]$ jobs
[1]+  Stopped                 sudo vsftpd
[qxhgd@localhost ~]$ fg 1
sudo vsftpd
[sudo] password for qxhgd:
[qxhgd@localhost ~]$ jobs
[qxhgd@localhost ~]$ ps -aef | grep vsftpd
root       1324      1  0 Apr10 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
qxhgd      8125   7943  0 05:54 pts/1    00:00:00 grep --color=auto vsftpd


bg


  • 将一个在后台暂停的命令,变成继续执行 (在后台执行);


  • 如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid);


  • 一个综合的例子,按top->ctrl+z->jobs->bg操作:


[qxhgd@localhost ~]$ top
top - 05:58:07 up  6:02,  2 users,  load average: 0.01, 0.20, 0.23
Tasks: 271 total,   1 running, 270 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  6.2 sy,  0.0 ni, 93.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863076 total,   150012 free,   872996 used,   840068 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   807612 avail Mem
   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
  8192 qxhgd     20   0  162160   2304   1532 R 12.5  0.1   0:00.02 top
     1 root      20   0  125604   4184   2628 S  0.0  0.2   0:02.86 systemd
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kthreadd
     ...
[1]+  Stopped                 top
[qxhgd@localhost ~]$ jobs
[1]+  Stopped                 top
[qxhgd@localhost ~]$ bg 1
[1]+ top &


参考资料


相关文章
|
1月前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
70 1
|
3天前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
44 20
|
1月前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
62 14
Linux 10 个“who”命令示例
|
14天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
41 8
|
23天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
121 20
|
23天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
91 13
|
24天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
54 7
|
30天前
|
SQL 运维 监控
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
167 8
|
2月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
682 6