首页 > 系统相关 >Linux进程和计划任务管理

Linux进程和计划任务管理

时间:2023-08-17 14:04:33浏览次数:36  
标签:用户 id 命令 任务 Linux 进程 cpu

正在工作的程序叫做进程

父进程和子进程

进程之间可能存在父子进程关系,父进程是对子进程进行管理,子进程是对客户端进行相应,进程在执行的时候往往是以不同用户的身份进行执行,主进程可能是以管理员的身份,子进程可能以普通用户的身份。

#####

子进程

子进程为了安全一般使用普通用户(称为程序用户)的身份来执行,或者进行相应

程序用户的特点

程序用户权限低,即使被劫持了那么他获得的权限也仅仅是这个程序用户的权限,程序用户在本机上不会对系统造成严重的安全威胁,很多软件可能都是以这种程序用户的身份来运行的,不同软件的程序用户的名称可能不一样。

ps命令

用途:查看静态的进程统计信息 格式

ps uf

ps -elf

ps ax

ps axfu

a显示所有的

x活跃的进程

f列出父子关系

u可以显示这个进程对应的执行用户

以上可以随意组合

ps ax 显示所有活跃的进程

PID:

进程id systemd是系统中第一个进程,他的进程id是1

cpu对进程进行控制的时候,通过id来区分,每个进程工作的时候都会分配一个唯一的编号,这个编号就是系统(或者说cpu)对他进行控制的时候所识别的编号,如果要杀死一个进程可以对进程的名称进行操作,也可以对进程的PID进行操作,ID都会变的当我们把一个ID杀死后,下次他起来的时候他之前的ID可能会被分配出去了,只有systemctl的ID是不会变的他的ID是1

TTY:

TTY称为终端,终端就类似是在那个窗口运行的,比如远程登录算一个终端,在图形界面下有终端。

?代表不依赖任何终端,这个程序运行的时候,用户还没登录。系统启动的时候运行着一些进程,用户还未登录他不依赖任何终端,这个一般称为守护进程。如果他在某个终端运行着他会写着具体的终端名称

STAT

STAT:状态,S:running(运转)代表此进程工作了但是没事干。S:sleeping(睡觉)不占用系统资源

R:代表占用系统资源,后面时间代表执行该进程的时候占用cpu时间0:00 都是0代表它占用的cpu的时间太短了,显示不出来。

COMMAND

COMMAND:进程所对应的名称,进程名。

top命令

用途:查看动态的进程排名信息,那个进程占用资源多就排在前面

top

Linux进程和计划任务管理_计划任务


17:57:40:当前时间

up 11 min:运行了多长时间(系统启动多长时间了)

2 users :有几个用户在登录

load average: 0.10, 0.30, 0.23 当前系统负载情况,当前系统忙闲程度。

第二行:Tasks :209 total, 3running,206 sleeping 0 stopped, 0 zombie

任务数,进程数 总共209个进程 3个正在running(运转) 206个正在 sleeping(睡觉)0个正在处于stopped(关闭状态)0个zombie(僵尸)状态

僵尸状态也是正常的,父进程关闭了 子进程就处于僵尸状态(管他的没有了)

第三行:%Cpu(s):1.9 us, 1.9 sy, 0.0 ni , 代表cpu资源的分配

96.3 id id代表空闲 当前cpu空闲率是96.3% 代表cpu不忙 代表系统当前可能空闲。

第四行KiB Mem : total 总的是多少 free 自由的 used 用了多少

第五行是虚拟内存

在下面是进程的排名,谁占用资源多谁就排在前面。

cpu在工作的时候:一台电脑可以同时做多个事情一边聊天一遍听音乐,看似同时的其实不是,cpu把他的时间分成很多时间片,很短的时间片,他们在工作的时候cpu接受他的请求对他进行控制,快速的切换到下一个时间片,每个时间片或者说每个时间处理不同的任务,只是他切换的太快了,执行一圈过来以后,又执行一圈,让我们觉得他同时都在工作一样。

有些进程占用cpu资源多,cpu会对他进行照顾,这时候就会看到他排名靠上,系统会过一会对当前系统占用资源的状况做一个统计,然后显示,过几秒又统计在这显示一下,一直发生变化,谁占用cpu资源多或者cpu正在处理谁的时候他就会排在前面。

pgrep 命令 用途:根据特定条件查询进程 PID 信息

pgrep httpd 这样只能看到他的进程号

pgrep -l httpd 这样就能看到他的进程名和他的进程号

pstree 将所有行程以树状图显示(显示进程树)

pstree -aup

a所有的

u执行用户是谁 (如果没有显示用户的话,那么这个进程是以管理员的身份运行的可以不显示。)

p显示进程id

进程的启动方式

手工启动

前台启动:用户输入命令,直接执行程序

后台启动:在命令行尾加入“&”符号

在执行命令的时候 后面加上& 他就自动丢掉后台执行 并显示进程id

[]的数代表放在后台的任务号

后面的数字是 这条命令所对应的进程号

当命令在前台运行的时候 ctrl+z 丢到后台挂起(不运行)

bg 任务号 在后台运行 (只有一个任务的时候不输任务号)

fg 任务号 把后台运行的调到前台(只有一个任务的时候不输任务号)

jobs 查看后台任务

将后台进程恢复到前台运行,可指定任务序号

调度启动 使用 at 命令,设置一次性计划任务 使用 crontab 命令,设置周期性计划任务

终止进程的运行

Ctrl+C 组合键

中断正在执行的命令

kill、killall 命令

kill用于终止指定PID号的进程 killall用于终止指定名称的所有进程

-9 选项用于强制终止

kill 进程号

kill -9 进程号 强制杀死

killall 进程名

killall -9 进程名 强制杀死

pkill命令

用途:根据特定条件终止相应的进程 常用命令选项: -U:根据进程所属的用户名终止相应进程 -t:根据进程所在的终端终止相应进程

pkill -9 进程名

pkill -9 -U 用户名 踢出用户登录

pkill -9 -t 终端名

who查看当前登录的用户

计划任务管理

at命令

一次性计划任务

服务脚本名称:/etc/init.d/atd 设置格式 at 时:分 年-月-日

date 查看时间

at 10:04 回车

init 6 ctrl+D 提交

设置10点04分 重启

atq 查看任务

atrm 编号 删除任务

crontab命令

周期性计划任务

按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作 属于周期性计划任务

cron 软件 一般被称为cron服务

crontab 下达指令的

crond 真正干活的是他 一直处于工作状态

管理cron计划任务

编辑计划任务

crontab -e -u 用户名 想以那个用户执行 就写上用户名 不写就是当前用户

查看计划任务

crontab -I -u 用户名

删除计划任务

crontab -r -u 用户名

Linux进程和计划任务管理_计划任务_02


注意:命令要求绝对路径(用which查看命令路径)

如果分钟写* 那就是每分钟执行一次

字段

说明

分钟

取值为从0到59之间的任意整数

小时

取值为从0到23之间的任意整数

日期

取值为从1到31之间的任意整数

月份

取值为从1到12之间的任意整数

星期

取值为从0到7之间的任意整数,0或7代表星期日

命令

要执行的命令或程序脚本

时间数值的特殊表示方法

*表示该范围内的任意时间 ,表示间隔的多个不连续时间点

-表示一个连续的时间范围 /指定间隔的时间频率 应用示例 0 17 * * 1-5 周一到周五每天17:00 30 8 * * 1,3,5 每周一、三、五的8点30分 0 8-18/2 * * * 8点到18点之间每2小时 0 0 */3 * * 每3天

注意:一般有周几就不设置日月,如果设置日月了一般就不会设置周几(有时候可能会出现冲突)

实验命令 


标签:用户,id,命令,任务,Linux,进程,cpu
From: https://blog.51cto.com/u_16228974/7121648

相关文章

  • 利用队列的内置模块(deque)模拟 Linux 下的 tail 命令(输出文件中最后几行的内容)
    博客地址:https://www.cnblogs.com/zylyehuo/#-*-coding:utf-8-*-fromcollectionsimportdequedeftail(n):#n:指定输出文件中最后几行withopen('test.txt','r')asf:q=deque(f,n)returnqforlineintail(5):print......
  • Linux中的known_hosts
    如果你经常使用Linux系统ssh到一个远程服务器,在主目录中一般会有一个.ssh文件夹,在这个文件夹中会有若干个文件,其中包括一个 known_hosts 文件:$ls-l.sshtotal16-rwxr-xr-x1abhishekabhishek618Aug3016:52config-rw-------1abhishekabhishek1766Nov12......
  • Linux常用网络配置
    1、nmcli命令中的device和connection分别代表什么含义?device:网络接口,是物理设备connection:是连接,偏重于逻辑设置2、如何查看Linux主机的IP参数?ifconfig、ipaddr、iplink3、如何修改Linux主机的计算机名字(主机名)?hostname查看和临时设置hostnamectl永久设置修......
  • Kubernetes守护进程集 DaemonSet
    守护进程集DaemonSet守护进程集也有副本数概念,但是副本数概念并不是通过配置清单的方式人为去定义的,他是靠你当前集群的节点个数,比如我当前集群之前安装集群安装的网络插件calico[root@k8s-master1deployment]#kubectlgetpods-nkube-systemNAME......
  • 聊一下操作系统 macOS 与 Linux
    对于Windows操作系统大家都比较熟悉,也常拿它与Linux操作系统进行比较,两者之间的差异也很明显。但对于macOS和Linux的比较不太多,很多人认为它们很相似,因为这两种操作系统都可以运行Unix命令。其实详细比较下,两者还是有很多不同点的,每种操作系统都是独一无二的存在,下面就让我们来......
  • centos7安装mariadb-10.10.6-linux-systemd-x86_64.tar.gz
    [root@kht100data]#mysql_install_db--user=root--basedir=/usr/local/mariadb--datadir=/usr/local/mariadb/dataInstallingMariaDB/MySQLsystemtablesin'/usr/local/mariadb/data'...2023-08-1711:07:360[Note]StartingMariaDB10.10.6-MariaDB......
  • linux系统句柄限制调整,当使用netty/socket触发达到系统最大连接数时查看
    socket原理:客户端使用tcp端口连接至服务端,服务端会打开一个句柄文件和客户端保持连接,注意并不是一个连接就会占用一个服务器端口,所以socket连接数跟系统端口最大连接数无关,不然系统防火墙不就没啥用,默认系统每个进程打开的句柄是有限制的,另外整个系统还有一个句柄限制总数,所以soc......
  • C# Microsoft.Win32.TaskScheduler方式创建任务计划程序报错: System.ArgumentExceptio
    使用Microsoft.Win32.TaskScheduler创建任务计划程序可参考本人之前的一篇文章:https://www.cnblogs.com/log9527blog/p/17329755.html最新发现个别账户使用Microsoft.Win32.TaskScheduler创建任务计划程序报错:System.ArgumentException:(12,21):UserId:Account一种情况是账户......
  • Linux常用命令整理
    常见的命令及其参数当谈到Linux的常见命令时,以下是一些常见的Linux命令及其用法,包括选项和参数:ls(列出文件和目录)选项:-l:以长格式显示文件和目录的详细信息-a:显示所有文件和目录,包括隐藏文件-h:以人类可读的格式显示文件大小-r:以相反的顺序显示文件和目录参数:目标目录或文件cd(切换目......
  • Linux开机启动
    在Linux系统中,您可以通过以下几种方法之一来实现开机启动程序。请注意,不同的Linux发行版可能会有不同的方法,下面是一些常用的方法:使用rc.local(适用于SysVinit系统):在一些较旧的Linux发行版中,可以使用rc.local脚本来添加开机启动项。打开/etc/rc.local文件,可以......