linux服务管理及进程管理

服务管理及进程管理

一.linux系统中的服务管理

1.服务管理的统一工具

centOS6	service 程序名 start/stop

centOS7	systemctl start/stop 程序名

2.服务管理的常见操作

systemctl 指令 程序名
	start			# 启动服务
	stop			# 停止服务
	restart			# 重启服务。服务停止
	reload			# 平滑重启。服务不停止,只重新加载配置文件
	status			# 查看服务状态
		-l			# 显示详细信息
		Active状态:
			dead	# 服务处于关闭状态
			running	# 正在运行
			failed	# 运行失败
	enable			# 设置开机自启动
		--now		# 当前立即启动
	disable 		# 取消开机自启动
	is-enabled		# 查询某程序是否开机自启
	list-unit-files	#查看所有服务的开机自启状态

3.systemctl服务配置文件

作用:哪些服务需要被systemctl管理,则必须得有配置文件

/usr/lib/systemd/system/  # 存放systemctl需要管理的服务的配置文件的  只有.service .target两种后缀

# 配置文件详解
vim /usr/lib/systemd/system/sshd.service
[Unit]   # 定义服务运行依赖环境                                 
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify								# Type字段定义启动类型
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS	# 定义服务启动命令
ExecReload=/bin/kill -HUP $MAINPID		# 定义服务重启命令
KillMode=process						# 关闭进程的模式
	control-groups:所有都杀
	process: 只杀主进程
Restart=on-failure						# 服务程序退出后,systemd的重启方式
	no:默认模式,退出后不会重启
	on-success:只有正常退出时才会重启
	on-failure:非正常退出时才会重启
RestartSec=42s							# 重启的延时等待

[Install]								# 设定本服务enabled后在哪个运行级别下开机自启
WantedBy=multi-user.target

## 重载配置文件
systemctl daemon-reload

二.linux系统中的进程管理

1.什么是进程?什么是程序?什么是守护进程?

程序:后端语言编写的可以运行的软件

进程:程序运行起来后在内存中的表现状态为进程
PID:进程号
内存空间:用于存储进程运行过程中产生的数据

守护进程:某一个需要一直处于运行状态,在后台运行的进程,用于提供某些系统功能。

2.进程的生命周期

初始进程:派生,回收所有父进程
PID:0 systemd

父进程:派生,回收子进程
子进程:工作进程,实际处理任务的进程
僵尸进程:父进程无法管理的子进程。占用系统资源,不干活。
解决办法:将父进程手动关闭,使其变成孤儿进程被初始进程接管回收。

​ 孤儿进程:父进程意外退出。被初始进程接管回收

6245dd0e2d86f52dcc5bd1d909a071c9

3.ps命令

作用:查看系统进程运行状态

1.ps -ef
用户态进程的运行用户进程号父进程的进程号cpu使用情况启动时间来源终端运行多久进程的启动命令
UIDPIDPPIDCSTIMETTYTIMECMD
root1(初始进程)0(没有进程)008:51?(内核态进程)00:00:03/usr/lib/systemd/systemd --switched-root --system --deserialize 22
root13461(初始进程)015:41tty1(用户态进程)00:00:00/sbin/agetty --noclear tty1 linux
2.ps aux
用户态进程的运行用户户进程号CPU使用率内存使用率虚拟内存使用情况物理内存使用情况来源终端进程的状态开始运行时间运行时间进程的启动命令
USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
root1(初始进程)0.00.21258964460?Ss15:410:03/usr/lib/systemd/systemd --switched-root --system --deserialize 22
root13460.00.0110204848tty1(用户态进程)Ss+15:410:00/sbin/agetty --noclear tty1 linux
3.进程的状态
# 常见进程状态
S:可中断的睡眠进程
R:正在运行的进程
D:不可中断的睡眠进程
T:暂停的进程。ctrl+z
Z:僵尸进程
	s:该进程是一个父进程
	+:前台进程
	<:高优先级进程
	N:低优先级进程

三.进程的管理

1.停止进程

kill PID
   -1	#平滑重启。重载配置文件
   -3  	#平滑停止
   -9  	#强制杀死
   -15 	#默认

pkill 平滑批量杀死

killall  批量杀死。支持指定信号
安装 yum install psmisc -y

杀死共同的父进程可以批量杀死子进程

2.进程中前后台管理

1-&:将前台进程放置后台
用在一个命令的最后,可以把这个命令放到后台执行。但输出结果会显示在前台。
	nohup	结合&使用
	将后台输出结果写进nohup.out文件 
	nohup ping www.baidu.com &

2-ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停

3-jobs
查看当前有多少在后台运行的命令

4-fg
将后台中的命令调至前台继续运行
	如果后台有多个命令,可以用fg %jobnumber将选中的命令调出。
	%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)
	
5-bg
将一个在后台暂停的命令,变成继续执行

3.screen实现多终端管理进程

# 安装screen命令
yum install screen -y

screen 直接执行开启新终端
	-list	#查看前后台终端
	-r 终端号码	#切换终端
	ctrl a+d   #回退到之前的终端
	
在screen中运行的进程是在另一终端中运行的,不算后台运行,无法被前后台管理
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值