Linux进程管理、执行任务 和 软件安装(笔记)

一、Linux进程管理

系统:centos7

在linux系统中,分为前台进程后台进程,前台进程意思就是当一个命令执行的过程中,不允许其他的命令执行,我们之前所学习的常用命令基本上都是前台进程。

比如我们查找一个文件:find / -name init在这个命令执行中其他命令是不可以执行的。
在这里插入图片描述

而后台进程则运行多个进程一起同步执行:只需要在最后加上“&”,即表示为后台进程(注意后台进程是不能交互执行的,比如ping命令等)


命令:w(who)

描述:查看用户信息
Linux进程管理、执行任务 和 软件安装(笔记)_第1张图片

TTY:表示以什么方式登录这台计算机(pts/0 远程登录)
FROM:表示从什么位置登录的。
LOGIN@:表示登录时间、
IDLE:表示用户闲置的时间。
JCPU:表示当前这个用户执行所有进程耗时总和
PCPU:表示执行程序耗费的时间
WHAT: 表示当前执行的什么任务
load avegage : 表示系统的负载值,分别显示过去的1、5、15分钟系统的负载程度,如果是想知道系统的平均负载,三者之和除以3即可,最终结果在0.8以下表示正常,如果达到几十或上百,那么系统负载非常高,可能无法响应任何命令


命令:ps(process status)

-a:显示所有用户的进程
-l:长格式显示
Linux进程管理、执行任务 和 软件安装(笔记)_第2张图片

STAT:当前状态 S休眠; D不可中断的休眠状态;R运行状态; Z僵死状态; R停止
UID: 表示当前启动进程的用户
PID : 进程号
PPID:父进程号
TTY:进程启动的终端
IN:进程的优选级
TIME:进程启动以来占用的实际时间
CMD:进程的命令

其他选项

  -u:显示用户名和启动时间
  -x:显示没有控制终端的进程
  -e:显示所有进程,包括没有控制终端的进程
  -w:宽行显示,可以使用多个w进行加宽显示

常用命令:
ps -ef 或者 ps -el(查看所有进程,包括没有终端的进程)
Linux进程管理、执行任务 和 软件安装(笔记)_第3张图片

ps -ef | --sort pid 可以按照PID进行排序显示(也可以按照其他进行排序,比如NI)
Linux进程管理、执行任务 和 软件安装(笔记)_第4张图片
ps -aux 这个命令可以查看当前进程暂用cpu和内存的百分比
Linux进程管理、执行任务 和 软件安装(笔记)_第5张图片

ps -aux | grep nginx(配合管道进行进一步筛选)
在这里插入图片描述


命令 kill

命令:kill [进程号] 关闭进程 kill 1234

kill -9 [进程号] 强制关闭进程
kill -1 [进程号] 重庆进程
xkill 关闭图形程序
killall 结束所有进程
查找服务进程号:pgrep [服务名称]
关闭进程:pkill [进程名]

命令:nohup

语法:nohup program &
描述:是进程在用户退出登录后仍旧继续执行

终止一个程序的运行 :ctrl + c
挂起一个程序的运行:ctrl + z


命令:jobs

语法:jobs
把任务恢复到前台执行fg [任务编号]
把任务恢复到后台执行 bg [任务编号]


命令:top

- d:指定刷新时间间隔
- c:显示整个命令行的详细信息
- u:可查看指定用户的进程
- k:终止正在执行的进程
描述:进程状态显示和进程控制,每5秒自动刷新一次(动态显示)
Linux进程管理、执行任务 和 软件安装(笔记)_第6张图片

二、计划任务

定时任务的命令

  • at 安排作业在某一时刻执行一次(不常用)
  • cron安排周期性执行作业(常用)

一次性计划任务

命令:at
语法:at [-f 文件名] 时间
绝对计时法:HH:MM YYYY-MM-DD
相对计时方法:now + n minutesnow+n hoursnow + n days
描述:安排一个或多个命令在指定时间运行一次
(ctrl+d保存任务退出)

问题:Can’t open /var/run/atd.pid to signal atd. No atd running?

按照命令:
yum -y install at
chkconfig --level 35 atd on
service atd start

Linux进程管理、执行任务 和 软件安装(笔记)_第7张图片

at -d 或者 atrm删除任务
at -l 或者atq 查看任务
Linux进程管理、执行任务 和 软件安装(笔记)_第8张图片
如果/etc/at.allow存在,则在里面的用户可以使用at执行计划
如果/etc/at.deny存在则在里面的用户不可以使用at执行计划

如果文件都不存在,则只有root可以使用at执行计划


周期性任务计划

命令:crontab
语法:crontab{-l|-r|-e}
  -l显示当前的crontab
  -r 删除当前的crontab
  -e 使用编辑器编辑当前的crontab

文件描述:用于生成cron进程所需的crontab文件

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
  • 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
  • 正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

# 查看crond进程是否存在
 ps -el | grep crond

通过crontable -e去编辑任务。crontab 文件建立好后可以到/var/spool/cron目录确认。
Linux进程管理、执行任务 和 软件安装(笔记)_第9张图片

注意:使用命令时需要用绝对路径。(whereis 命令 :获取路径)


三、安装软件

使用yum命令安装软件

  • 自动解决软件包依赖关系
  • 方便的软件包升级

  1. 查找软件包yum search [软件包名称]
  2. 安装yum install [软件包名称]
  3. 检测升级yum check-update [软件包名称]
  4. 升级yum update [软件包名称]
  5. 软件包查询yum list | grep [软件包名称]
  6. 软件包信息yum info [软件包名称]
  7. 卸载yum remove [软件包名称]

例如:安装gcc (yum clean all) , 安装telnet

搜索
Linux进程管理、执行任务 和 软件安装(笔记)_第10张图片

安装telnet

Linux进程管理、执行任务 和 软件安装(笔记)_第11张图片


wget 下载安装

知道地址后,使用wget可以下载文件。

# 下载tomcat
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.tar.gz

你可能感兴趣的:(linux)