Linux的进程管理

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 跟系统任务相关的几个命令:fg、bg、jobs、&、ctrl+z

01

系统任务管理


跟系统任务相关的几个命令:fg、bg、jobs、&、ctrl+z

  • & 最经常被用到:这个用在一个命令的最后,可以把这个命令放到后台执行
  • ctrl + z:可以将一个正在前台执行的命令放到后台,并且暂停
  • jobs:查看当前有多少在后台运行的命令
  • fg:将后台中的命令调至前台继续运行



oracle@yaoyuan ~$ sleep 10^Z[1]+  Stopped                 sleep 10oracle@yaoyuan ~$ sleep 9 &[2] 25127oracle@yaoyuan ~$ jobs[1]+  Stopped                 sleep 10[2]-  Running                 sleep 9 &oracle@yaoyuan ~$ ps  PID TTY          TIME CMD24894 pts/0    00:00:00 bash25112 pts/0    00:00:00 sleep25167 pts/0    00:00:00 ps[2]-  Done                    sleep 9oracle@yaoyuan ~$ jobs[1]+  Stopped                 sleep 10oracle@yaoyuan ~$ fgsleep 10

sleep 9在后台执行,不是暂停,而sleep 10暂停了。


02

ps


ps 命令用于显示当前系统中由该用户运行的进程列表

选项 说明
-ef 查看所有进程及其 PID(进程号)、系统时间、命令的详细目录、执行者等。
-aux 除可显示 -ef 所有内容外,还可显示 CPU 及内存占用率、进程状态。
-w 以加宽方式显示,这样可以显示较多的信息。


03

pidof

根据进程名查询进程号




oracle@yaoyuan ~$ pidof mysqld1907oracle@yaoyuan ~$ ps -ef|grep mysqldmysql     1907     1  0 Jul29 ?        00:01:57 /usr/sbin/mysqld


04

kill


而 kill 命令用于输出特定的信号给指定进程号(PID)的进程并根据该信号完成指定的行为,其中可能的信号有进程挂起、进程等待、进程终止等





oracle@yaoyuan ~$    kill -l 1) SIGHUP   2) SIGINT   3) SIGQUIT   4) SIGILL   5) SIGTRAP 6) SIGABRT   7) SIGBUS   8) SIGFPE   9) SIGKILL  10) SIGUSR111) SIGSEGV  12) SIGUSR2  13) SIGPIPE  14) SIGALRM  15) SIGTERM16) SIGSTKFLT  17) SIGCHLD  18) SIGCONT  19) SIGSTOP  20) SIGTSTP21) SIGTTIN  22) SIGTTOU  23) SIGURG  24) SIGXCPU  25) SIGXFSZ26) SIGVTALRM  27) SIGPROF  28) SIGWINCH  29) SIGIO  30) SIGPWR31) SIGSYS  34) SIGRTMIN  35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+338) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+843) SIGRTMIN+9  44) SIGRTMIN+10  45) SIGRTMIN+11  46) SIGRTMIN+12  47) SIGRTMIN+1348) SIGRTMIN+14  49) SIGRTMIN+15  50) SIGRTMAX-14  51) SIGRTMAX-13  52) SIGRTMAX-1253) SIGRTMAX-11  54) SIGRTMAX-10  55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-758) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-263) SIGRTMAX-1  64) SIGRTMAX  oracle@yaoyuan ~$ sleep 100 &[1] 25928oracle@yaoyuan ~$ ps  PID TTY          TIME CMD24894 pts/0    00:00:00 bash25928 pts/0    00:00:00 sleep25941 pts/0    00:00:00 psoracle@yaoyuan ~$ kill 25928oracle@yaoyuan ~$ ps  PID TTY          TIME CMD24894 pts/0    00:00:00 bash25948 pts/0    00:00:00 ps

信号默认为15,使用-9可以强制杀死。


05

nohup


nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

以下命令在后台执行 root 目录下的 dbaace.sh 脚本:




oracle@yaoyuan ~$ cat > yaoyuan.shlsoracle@yaoyuan ~$ chmod a+x yaoyuan.sh oracle@yaoyuan ~$ nohup yaoyuan.shnohup: ignoring input and appending output to ‘nohup.out’nohup: failed to run command ‘yaoyuan.sh’: No such file or directoryoracle@yaoyuan ~$ nohup ./yaoyuan.shnohup: ignoring input and appending output to ‘nohup.out’oracle@yaoyuan ~$ cat nohup.out aaa.sqlawrdiff_1_253_1_270.html...


06

at


计划任务服务程序 把周期性、规律性的工作交给系统自动完成。计划任务分为一次性计划任务与长期性计划任务。一次性计划任务只执行一次,一般用于满足临时的工作需求。我们可以用at命令实现这种功能,只需要写成“at 时间”的形式就可以。


oracle@yaoyuan ~$ dateSun Jul 31 15:16:55 CST 2022oracle@yaoyuan ~$ at 15:18at> touch file_aat> <EOT>job 1 at Sun Jul 31 15:18:00 2022oracle@yaoyuan ~$ dateSun Jul 31 15:18:01 CST 2022oracle@yaoyuan ~$ ll file_a-rw-r--r--. 1 oracle oinstall 0 Jul 31 15:18 file_a

<EOT>是输入Ctrl+d结束。

07

crontab


我们希望 Linux 系统能够周期性地、有规律地执行某些具体的任务,那么Linux 系统中默认启用的 crond 服务简直再适合不过了 创建、编辑计划任务的命令为“crontab -e”,查看当前计划任务的命令为“crontab -l”,删除某条计划任务的命令为“crontab -r”。另外,如果您是以管理员的身份登录的系统,还可以在crontab 命令中加上-u 参数来编辑他人的计划任务。

格式如下:

* * * * * command

分  时  日  月  周  命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令

例子:

每晚的21:30重启apache:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

每月1、10、22日的4点45分执行:

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

每周日早上2点执行数据库备份脚本:

0 2 * * 7 backup_database.sh

常用于数据库备份

开机自动执行

# crontab -e
//进入编辑,输入如下行
@reboot touch /home/oracle/hello.res


检查使用crontab -l

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
12
分享
相关文章
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
在计算机系统的底层架构中,操作系统肩负着资源管理与任务调度的重任。当我们启动各类应用程序时,其背后复杂的运作机制便悄然展开。程序,作为静态的指令集合,如何在系统中实现动态执行?本文带你一探究竟!
【Linux进程概念】—— 操作系统中的“生命体”,计算机里的“多线程”
Linux内核中的线程和进程实现详解
了解进程和线程如何工作,可以帮助我们更好地编写程序,充分利用多核CPU,实现并行计算,提高系统的响应速度和计算效能。记住,适当平衡进程和线程的使用,既要拥有独立空间的'兄弟',也需要在'家庭'中分享和并行的成员。对于这个世界,现在,你应该有一个全新的认识。
195 67
获取和理解Linux进程以及其PID的基础知识。
总的来说,理解Linux进程及其PID需要我们明白,进程就如同汽车,负责执行任务,而PID则是独特的车牌号,为我们提供了管理的便利。知道这个,我们就可以更好地理解和操作Linux系统,甚至通过对进程的有效管理,让系统运行得更加顺畅。
80 16
|
2月前
|
对于Linux的进程概念以及进程状态的理解和解析
现在,我们已经了解了Linux进程的基础知识和进程状态的理解了。这就像我们理解了城市中行人的行走和行为模式!希望这个形象的例子能帮助我们更好地理解这个重要的概念,并在实际应用中发挥作用。
74 20
|
1月前
|
Linux进程控制(详细讲解)
进程等待是系统通过调用特定的接口(如waitwaitpid)来实现的。来进行对子进程状态检测与回收的功能。
49 0
Linux2.6内核进程调度队列
本篇文章是Linux进程系列中的最后一篇文章,本来是想放在上一篇文章的结尾的,但是想了想还是单独写一篇文章吧,虽然说这部分内容是比较难的,所有一般来说是简单的提及带过的,但是为了让大家对进程有更深的理解与认识,还是看了一些别人的文章,然后学习了学习,然后对此做了总结,尽可能详细的介绍明白。最后推荐一篇文章Linux的进程优先级 NI 和 PR - 简书。
43 0
|
1月前
|
Linux进程概念-详细版(二)
在Linux进程概念-详细版(一)中我们解释了什么是进程,以及进程的各种状态,已经对进程有了一定的认识,那么这篇文章将会继续补全上篇文章剩余没有说到的,进程优先级,环境变量,程序地址空间,进程地址空间,以及调度队列。
38 0
Linux进程概念-详细版(一)
子进程与父进程代码共享,其子进程直接用父进程的代码,其自己本身无代码,所以子进程无法改动代码,平时所说的修改是修改的数据。为什么要创建子进程:为了让其父子进程执行不同的代码块。子进程的数据相对于父进程是会进行写时拷贝(COW)。
50 0
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
220 1
【Linux】进程概念和进程状态
本文详细介绍了Linux系统中进程的核心概念与管理机制。从进程的定义出发,阐述了其作为操作系统资源管理的基本单位的重要性,并深入解析了task_struct结构体的内容及其在进程管理中的作用。同时,文章讲解了进程的基本操作(如获取PID、查看进程信息等)、父进程与子进程的关系(重点分析fork函数)、以及进程的三种主要状态(运行、阻塞、挂起)。此外,还探讨了Linux特有的进程状态表示和孤儿进程的处理方式。通过学习这些内容,读者可以更好地理解Linux进程的运行原理并优化系统性能。
155 4
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问