Linux系统的常见关机方式

一、概述

Linux是一个多用户的系统,程序都是在后台运行,如果直接按关机键进行关机可能导致其他用户或者程序的终止,因此我们还是需要学习下怎样正确的关机。即使我们说服务器一般是长期运行的,但是遇到打补丁,重启等也需要了解一定的知识,最后,不正确的关机有可能导致文件系统损坏。

二、关机前的确认

1、关机前检查有多少用户登录系统

通过who命令查看在线用户。who命令可以查询在线用户,登录时间,登录ip等信息。

[root@Zabbix6 ~]# who
root     pts/0        2024-01-02 10:02 (192.168.80.22)

关机或者重启尽量选择在夜间或者业务空闲时进行操作,减少对业务造成影响或者出现故障无法恢复等情况出现。

2、查看当前系统运行的程序

通过ps -aux查看运行的程序,Linux的ps命令是一个常用的进程管理命令,用于显示系统中正在运行的进程以及它们的状态、PID、CPU使用率、内存使用量等信息,与之前的命令一样可以通过选项或参数实现不同的功能:

  • -a:显示所有进程,包括其他用户的进程。
  • -u <用户>:仅显示指定用户的进程信息。
  • -x:显示没有控制终端的进程。
  • -e:显示所有进程,等同于-A参数。
  • -f:显示进程的详细信息,包括进程的PID、PPID、CPU使用率、内存使用量等。
  • -l:显示进程的长格式信息,包括进程的PID、PPID、状态、CPU时间、命令等。
  • -p :仅显示指定PID的进程信息。
  • -t <终端>:仅显示指定终端上的进程信息。
  • -C <命令名>:仅显示指定命令名的进程信息。
[root@Zabbix6 ~]# ps -aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0 241964 14820 ?        Ss    2023   2:33 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
root           2  0.0  0.0      0     0 ?        S     2023   0:02 [kthreadd]
root           3  0.0  0.0      0     0 ?        I    2023   0:00 [rcu_gp]
root           4  0.0  0.0      0     0 ?        I    2023   0:00 [rcu_par_gp]
root           6  0.0  0.0      0     0 ?        I    2023   0:00 [kworker/0:0H-events_highpri]
root           9  0.0  0.0      0     0 ?        I    2023   0:00 [mm_percpu_wq]
root          10  0.0  0.0      0     0 ?        S     2023   0:06 [ksoftirqd/0]
root          11  0.0  0.0      0     0 ?        I     2023  33:42 [rcu_sched]
root          12  0.0  0.0      0     0 ?        S     2023   0:00 [migration/0]
root          13  0.0  0.0      0     0 ?        S     2023   0:00 [watchdog/0]
root          14  0.0  0.0      0     0 ?        S     2023   0:00 [cpuhp/0]
root          15  0.0  0.0      0     0 ?        S     2023   0:00 [cpuhp/1]
root          16  0.0  0.0      0     0 ?        S     2023   0:03 [watchdog/1]
root          17  0.0  0.0      0     0 ?        S     2023   0:00 [migration/1]
root          18  0.0  0.0      0     0 ?        S     2023   0:04 [ksoftirqd/1]
root          20  0.0  0.0      0     0 ?        I    2023   0:00 [kworker/1:0H-events_highpri]
root          21  0.0  0.0      0     0 ?        S     2023   0:00 [cpuhp/2]

3、查看当前网络连接

通过netstat命令查看网络连接状态。netstat是在内核中访问网络连接状态及其相关信息的程序,它是一个监控TCP/IP网络的非常有用的工具。它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

[root@Zabbix6 ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:zabbix-agent    0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:zabbix-trapper  0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:http            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 Zabbix6:37368           192.168.80:zabbix-agent TIME_WAIT  
tcp        0      0 Zabbix6:37400           192.168.80:zabbix-agent TIME_WAIT  
tcp        0      0 Zabbix6:39718           KLQAX.keli:zabbix-agent TIME_WAIT  
tcp        0      0 localhost:zabbix-agent  localhost:53904         TIME_WAIT  
tcp        0      0 Zabbix6:40174           KLQAX.keli:zabbix-agent TIME_WAIT  
tcp        0      0 localhost:zabbix-agent  localhost:53694         TIME_WAIT  
tcp        0      0 localhos:zabbix-trapper localhost:37058         TIME_WAIT  
tcp        0      0 Zabbix6:40028           KLQAX.keli:zabbix-agent TIME_WAIT  
tcp        0      0 Zabbix6:37320           192.168.80:zabbix-agent TIME_WAIT  
tcp        0      0 Zabbix6:46562           192.168.80:zabbix-agent TIME_WAIT  
tcp        0      0 Zabbix6:40218           KLQAX.keli:zabbix-agent TIME_WAIT  
tcp        0      0 Zabbix6:http            192.168.131.101:55061   ESTABLISHED

4、通知在线用户即将关机或者重启

三、常用的关机命令

1、shutdown命令

shutdown命令是用于关闭或重启计算机的命令。它用于控制计算机的关闭或重启,并提供了多种参数选项,以便用户自定义操作行为,一般来说只有root管理员有权限执行关机重启操作,毕竟影响太大了。常用参数:

  • -h:关闭计算机。
  • -r:关闭并重新启动计算机。
  • -t:设置关机或重启的倒计时时间(以秒为单位)。
  • -k:发送警告信息给在线用户,而不执行关机或重启操作。
  • -c:取消已经执行的关机或重启操作。

shutdown的命令格式:shutdown [-krhc] [时间] [警告信息]

# -h 指定时间关机使用now或者数字0代表立即关机
[root@localhost ~]# shutdown -h now
[root@localhost ~]# shutdown -h 0

# 也可以指定确切时间,应该是24小时格式吧
[root@localhost ~]# shutdown -h 11:00

# 或者在多久时间之后关机,-h以分钟为单位,在十分钟之后关机
[root@localhost ~]# shutdown -h +10

# 使用-r 进行重启,添加now表示立刻重启
[root@localhost ~]# shutdown -r now
  
# 添加警告信息,会通过tty发送到所有用户窗口显示。
[root@localhost ~]# shutdown -r now 'This system will reboot'
  
# 取消关机计划,使用shutdown -c,如果想要取消关机的计划,通过-c参数选项取消
[root@localhost ~]# shutdown -c

2、reboot命令

reboot命令可以进行重启系统,与shutdown -r效果一致。

# 重启
roott@localhost ~]# reboot

# 强制重启
roott@localhost ~]# reboot -f

3、halt命令

与shutdown 命令差不多。用于关机。

# 关机
[root@localhost ~]# halt

4、poweroff命令

# 关机
[root@localhost ~]# poweroff

5、sync 由于我们运行程序是先在内存中运行,然后再写入磁盘,所以如果突然关机可能导致内存里面的数据无法写入磁盘出现数据丢失,可以使用sync进行同步写入磁盘。现在上述的关机与重启命令执行前会执行sync,但是保险起见可以手动执行然后再关机或重启。

# 同步写入磁盘,命令不会有返回值
[root@localhost ~]# sync

总结:关机或者重启是重大的系统操作,一定要提前确认好各项准备工作,手动执行下sync,然后通知其他用户系统即将关闭,做到正确地关机,常用的命令为shutdownreboot命令。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 Linux系统的常见关机方式_第1张图片

本文由 mdnice 多平台发布

你可能感兴趣的:(Linux之旅,程序人生)