【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 &


参考资料


相关文章
|
6月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
745 2
二、Linux文本处理与文件操作核心命令
|
6月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
436 137
|
6月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
1154 58
|
5月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
1027 2
|
6月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
560 0
Linux内存问题排查命令详解
|
6月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
537 16
|
7月前
|
Linux 网络安全 开发工具
技术栈:这50条最常用的 Linux 命令你一定要会!
建议多在终端中实践,遇到不懂的命令就用 man 或 --help 了解详情!
1211 0
|
12月前
|
Linux 数据库 Perl
【YashanDB 知识库】如何避免 yasdb 进程被 Linux OOM Killer 杀掉
本文来自YashanDB官网,探讨Linux系统中OOM Killer对数据库服务器的影响及解决方法。当内存接近耗尽时,OOM Killer会杀死占用最多内存的进程,这可能导致数据库主进程被误杀。为避免此问题,可采取两种方法:一是在OS层面关闭OOM Killer,通过修改`/etc/sysctl.conf`文件并重启生效;二是豁免数据库进程,由数据库实例用户借助`sudo`权限调整`oom_score_adj`值。这些措施有助于保护数据库进程免受系统内存管理机制的影响。
|
Linux Shell
Linux 进程前台后台切换与作业控制
进程前台/后台切换及作业控制简介: 在 Shell 中,启动的程序默认为前台进程,会占用终端直到执行完毕。例如,执行 `./shella.sh` 时,终端会被占用。为避免不便,可将命令放到后台运行,如 `./shella.sh &`,此时终端命令行立即返回,可继续输入其他命令。 常用作业控制命令: - `fg %1`:将后台作业切换到前台。 - `Ctrl + Z`:暂停前台作业并放到后台。 - `bg %1`:让暂停的后台作业继续执行。 - `kill %1`:终止后台作业。 优先级调整:
1157 5
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能