linux systemctl 常用用法简介

主要介绍systemctl的几个功能如下:

1.查看某个服务的状态

2.关闭某个服务

3.开启某个服务

4.设置某个为开机自启动

5.关闭某个服务为开机不启动

6.查看所有开启启动的服务

 

1.查看某个服务的状态

用法:systemctl status 需要查询的服务 例如 mariadb.service 注意Actice
[root@localhost linux]# systemctl status mariadb.service ● mariadb.service
- MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2017-05-10 09:48:44 EDT; 19min ago Process: 2203 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS) Process: 1057 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS) Main PID: 2198 (mysqld_safe) CGroup: /system.slice/mariadb.service ├─2198 /bin/sh /usr/bin/mysqld_safe --basedir=/usr └─2445 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/... May 10 09:48:25 localhost.localdomain systemd[1]: Starting MariaDB database server... May 10 09:48:29 localhost.localdomain mysqld_safe[2198]: 170510 09:48:29 mysqld_safe Logging to '/var/log...g'. May 10 09:48:29 localhost.localdomain mysqld_safe[2198]: 170510 09:48:29 mysqld_safe Starting mysqld daem...sql May 10 09:48:44 localhost.localdomain systemd[1]: Started MariaDB database server. Hint: Some lines were ellipsized, use -l to show in full. [root@localhost linux]#

其实查看状态还可以用ps查询

ps aux 是查询所有进程grep是提取需要的行
[root@localhost linux]# ps aux | grep mariadb mysql 4987 1.2 2.1 839268 83484 ? Sl 10:11 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock root 5022 0.0 0.0 112648 952 pts/1 S+ 10:11 0:00 grep --color=auto mariadb [root@localhost linux]#

 

2.关闭某个服务

[root@localhost linux]# systemctl stop mariadb.service 
[root@localhost linux]# 
再次查看其状态 可见 已经关闭完成了
[root@localhost linux]# ps aux | grep -v grep | grep mariadb.service
[root@localhost linux]#

 

3.开启某个服务

[root@localhost linux]# systemctl start mariadb.service
[root@localhost linux]#
查看服务是否启动
[root@localhost linux]# ps aux | grep mariadb
mysql     5247  0.3  2.1 839268 83488 ?        Sl   10:17   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock
root      5287  0.0  0.0 112648   952 pts/1    S+   10:18   0:00 grep --color=auto mariadb
[root@localhost linux]# 
[root@localhost linux]# 
[root@localhost linux]# ps aux | grep mariadb | grep -v grep
mysql     5247  0.3  2.1 839268 83488 ?        Sl   10:17   0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock

 

4.设置某个服务为开机自启动

[root@localhost linux]# systemctl is-enabled mariadb.service
enabled
[root@localhost linux]# 

5.关闭某个服务为开机不启动

[root@localhost linux]# systemctl disable mariadb.service
Removed symlink /etc/systemd/system/multi-user.target.wants/mariadb.service.
[root@localhost linux]# 

6.查看所有开启启动的服务

[root@localhost linux]# ls /etc/systemd/system/multi-user.target.wants/
abrt-ccpp.service    auditd.service      kdump.service           postfix.service   sysstat.service
abrtd.service        chronyd.service     libstoragemgmt.service  remote-fs.target  tuned.service
abrt-oops.service    crond.service       mdmonitor.service       rngd.service      vmtoolsd.service
abrt-vmcore.service  cups.path           ModemManager.service    rsyslog.service   vsftpd.service
abrt-xorg.service    cups.service        NetworkManager.service  smartd.service
atd.service          irqbalance.service  nfs-client.target       sshd.service
[root@localhost linux]# 

可见,刚刚禁止之后,这个文件中就没有了mariadb.service
[root@localhost linux]# ls /etc/systemd/system/multi-user.target.wants/mariadb.service
ls: cannot access /etc/systemd/system/multi-user.target.wants/mariadb.service: No such file or directory
[root@localhost linux]#

现在利用systemctl将mariadb.service设置为开机自启动
[root@localhost linux]# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
[root@localhost linux]#

再次写ls语句
[root@localhost linux]# ls /etc/systemd/system/multi-user.target.wants/mariadb.service
/etc/systemd/system/multi-user.target.wants/mariadb.service
[root@localhost linux]#

 

posted @ 2017-05-10 22:29  pdudos  阅读(257)  评论(0编辑  收藏  举报