Linux 服务管理

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld , sshd防火墙等),因此又称为守护进程。

比如通过xshell进行连接的时候,需要输入的端口号就是通过守护进程连接的。

一、service 指令

通过service指令进行进程的管理,常用操作有

service 服务名 [start | stop | restart | reload | status],status为查看当前服务状态,在Centos7.0后一般使用systemctl,关于service管理的服务可以通过 ls -l /etc/init.d 进行查看。

例如,现在要求停止network服务,输入指令 service network stop ,会将网络服务关停,这样会使得所有通过网络端口连接的外部失去作用,xshell自然也无法再进行操作了。

如上图在主机关掉后,下图xshell就无法正常连接到主机这里了。

如果需要启动服务,则输入start指令即可。

此时网络服务恢复正常。

1.需要查看全部的服务输入指令 setup

选择系统工具回车

进入到全部服务界面,带*号的为开机自启动服务,未带*的为需要手动启动。退出使用tab键选择取消,再选择退出即可。

二、runlevel运行级别

2.1Linux的7种运行级别:

括号内为级别名

运行级别0(runlevel0.target & poweroff.target):系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

运行级别1(runlevel1.target & rescue.target):单用户工作状态,root权限,用于系统维护,禁止远程登陆

运行级别2(runlevel2.target & multi-user.target)∶多用户状态(没有NFS),不支持网络
运行级别3 (runlevel3.target &multi-user.target)∶完全的多用户状态(有NFS),无界面,登陆后进入控制台命令行模式(使用最多的级别)

运行级别4(runlevel4.target & multi-user.target):系统未使用,保留
运行级别5(runlevel5.target & graphical.target):X11控制台,登陆后进入图形GUI模式

运行级别6(runlevel6.target & reboot.target)∶系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

2.2查看和修改当前运行级别:

输入指令systemctl get-default 进行查看

输入指令systemctl set-default +修改的级别名 进行修改然后重启即可

三、运行级别自启动指令chkconfig

指令chkconfig在 /etc/init.d 中查看

查看chkconfig服务 chkconfig --list (可加grep进行过滤)

对chkconfig下的服务在对应级别开启/关闭自启动 chkconfig --level (级别数) 服务名 on/off

需要重启才能生效上述变更

演示:

1.查看服务

2.修改network下的运行级别2为关闭自启动

四、systemctl管理指令

4.1查看服务开机自启动状态

指令:systemctl list-unit-files [|grep 服务名]

首先可以在 /usr/lib/systemd/system 中查看所需要修改的服务名

例如:查看当前防火墙(通过grep)

可知当前防火墙开机启动

当然也可以使用systemctl is-enable 服务名 来进行查看是否自启动

4.2关闭/开启自启动

指令 systemctl enable/disable 服务名 (设置/关闭 服务开机启动)

该指令默认将运行级别3和5都设成同一状态的,该指令为永久生效指令

4.2.1查看当前防火墙状态

systemctl status firewalld

4.2.2关闭/重启防火墙自启动

systemctl stop firewalld

指令输入后再查看状态会发现防火墙停止运行,重启使用systemctl start firewalld

该指令在执行完后会立即临时生效,在重启系统后又恢复到原来的状态

五、关于端口打开关闭

关于firewalld的指令

打开端口:firewall-cmd --permanent --add-port=端口号/协议

关闭端口:firewall-cmd --permanent --remove-port=端口号/协议

重新载入,才能生效:firewall-cmd --reload

查询端口是否开放:firewall-cmd --query-port=端口/协议

1.打开防火墙111端口

firewall-cmd --permanent --add-port=111/tcp

2.重新载入生效

firewall-cmd --reload

3.查询端口状态

firewall-cmd --query-port=111/tcp

此时其他主机就可以通过telnet进入到该端口内进行操作

相关推荐
程序员南飞1 小时前
ps aux | grep smart_webrtc这条指令代表什么意思
java·linux·ubuntu·webrtc
StrokeAce1 小时前
linux桌面软件(wps)内嵌到主窗口后的关闭问题
linux·c++·qt·wps·窗口内嵌
热爱嵌入式的小许5 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风9 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学9 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO9 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu710 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我10 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、10 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程10 小时前
Linux中环境变量
linux