دستور اصلی کار با توزیع های لینوکسی که به جای init از systemd استفاده میکنند، systemctl است. به طور مثال میتوان نسخه های جدید ubuntu و centos را نام برد. در اینجا قصد داریم دستورات اصلی را به شما آموزش دهیم.
برای استارت نمودن سرویس:
systemctl start httpd
برای استاپ نمودن سرویس:
systemctl stop httpd
برای ری استارت نمودن سرویس:
systemctl restart httpd
برای Reload نمودن سرویس: (وقتی این قابلیت فعال باشد، فایل کانفیگ بدون از بین رفتن Process های فعلی مجدد بارگزاری میشود.)
systemctl reload httpd
در صورتی که سرویس در حال اجرا باشد، این دستور سرویس را استاپ و سپس استارت مینماید.
systemctl condrestart httpd
مشاهده ی وضعیت سرویس:
systemctl status httpd
خروجی:
[root@regux~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/etc/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2017-12-24 04:43:54 EST; 1min 35s ago
Process: 13309 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Dec 24 04:43:54 regux.com systemd[1]: Starting The Apache HTTP Server...
Dec 24 04:43:54 regux.com systemd[1]: Started The Apache HTTP Server.
لیست تمامی سرویس هایی که قابل استاپ و استار شدن هستند:
systemctl list-unit-files --type=service
خروجی:
UNIT FILE STATE
arp-ethers.service disabled
atop.service disabled
auditd.service enabled
autovt@.service enabled
avahi-daemon.service enabled
blk-availability.service disabled
brandbot.service static
clamav-daemon.service disabled
clamav-freshclam.service disabled
clamd.service enabled
console-getty.service disabled
console-shell.service disabled
container-getty@.service static
cpupower.service disabled
crond.service enabled
csf.service enabled
da-popb4smtp.service enabled
dbus-org.freedesktop.Avahi.service enabled
dbus-org.freedesktop.hostname1.service static
dbus-org.freedesktop.import1.service static
dbus-org.freedesktop.locale1.service static
dbus-org.freedesktop.login1.service static
dbus-org.freedesktop.machine1.service static
dbus-org.freedesktop.NetworkManager.service enabled
dbus-org.freedesktop.nm-dispatcher.service enabled
dbus-org.freedesktop.timedate1.service static
dbus.service static
debug-shell.service disabled
directadmin.service enabled
dm-event.service disabled
dnsmasq.service disabled
dovecot.service enabled
dracut-cmdline.service static
dracut-initqueue.service static
dracut-mount.service static
dracut-pre-mount.service static
dracut-pre-pivot.service static
dracut-pre-trigger.service static
dracut-pre-udev.service static
dracut-shutdown.service static
ebtables.service disabled
emergency.service static
exim.service disabled
firewalld.service disabled
freshclam.service enabled
fstrim.service static
getty@.service enabled
halt-local.service static
httpd.service enabled
ifcfg.service enabled
initrd-cleanup.service static
.
.
.
مشابه دستور قبلی ولی با خروجی ای گرافیکی تر:
[root@regux ~]# systemctl list-dependencies graphical.target
graphical.target
● ├─display-manager.service
● ├─network.service
● ├─systemd-update-utmp-runlevel.service
● └─multi-user.target
● ├─auditd.service
● ├─avahi-daemon.service
● ├─brandbot.path
● ├─clamd.service
● ├─crond.service
● ├─csf.service
● ├─da-popb4smtp.service
● ├─dbus.service
● ├─directadmin.service
● ├─dovecot.service
● ├─freshclam.service
● ├─httpd.service
● ├─ifcfg.service
● ├─irqbalance.service
● ├─kdump.service
● ├─lfd.service
● ├─mysqld.service
● ├─named.service
● ├─network.service
● ├─NetworkManager.service
● ├─plymouth-quit-wait.service
● ├─plymouth-quit.service
● ├─pure-ftpd.service
● ├─rc-local.service
● ├─rsyslog.service
● ├─sshd.service
● ├─startips.service
● ├─sysstat.service
● ├─systemd-ask-password-wall.path
● ├─systemd-logind.service
● ├─systemd-readahead-collect.service
● ├─systemd-readahead-replay.service
● ├─systemd-update-utmp-runlevel.service
● ├─systemd-user-sessions.service
● ├─tuned.service
● ├─basic.target
● │ ├─microcode.service
● │ ├─rhel-autorelabel-mark.service
● │ ├─rhel-autorelabel.service
● │ ├─rhel-configure.service
● │ ├─rhel-dmesg.service
● │ ├─rhel-loadmodules.service
● │ ├─selinux-policy-migrate-local-changes@targeted.service
● │ ├─paths.target
● │ ├─slices.target
● │ │ ├─-.slice
فعال کردن سرویس برای در حالت اجرا بودن پس از Restart شدن سرور:
systemctl enable httpd
غیر فعال کردن سرویس برای در حالت اجرا نبودن پس از Restart شدن سرور:
systemctl disable httpd
بررسی این مورد که سرویس در کدام یک از دو حالت قبلی قرار دارد:
[root@regux ~]# systemctl is-enabled httpd
enabled