- 1 1. Panimula
- 2 2. Paano Ipakita ang Listahan ng Mga Serbisyo Gamit ang systemctl
- 3 3. Mga Karaniwang Operasyon sa Pamamahala ng Serbisyo Gamit ang systemctl
- 3.1 3.1 Pag-activate ng Serbisyo
- 3.2 3.2 Pag-stop ng Serbisyo
- 3.3 3.3 Pag-restart ng Serbisyo
- 3.4 3.4 Pagsusuri ng Estado ng Serbisyo
- 3.5 3.5 Pag-enable ng Awtomatikong Pag-activate ng Serbisyo
- 3.6 3.6 Pag-disable ng Awtomatikong Pag-activate ng Serbisyo
- 3.7 3.7 Pagsusuri ng Estado ng Setting ng Awtomatikong Pag-activate
- 4 4. Mga Kapaki-pakinabang na Opsyon at Mga Advanced na Teknik ng systemctl
- 5 5. Mga Karaniwang Problema at ang mga Paraan ng Paglutas Nito
- 6 6. Buod
- 7 7. Mga Madalas na Tanong (FAQ)
- 7.1 Q1. Ano ang pagkakaiba ng systemctl at service command?
- 7.2 Q2. Ano ang pagkakaiba ng list-units at list-unit-files?
- 7.3 Q3. Maaari bang i-start ang serbisyo na nasa static state?
- 7.4 Q4. Hindi ko ma-start ang serbisyo na masked. Paano?
- 7.5 Q5. May paraan ba para i-list ang estado ng serbisyo gamit ang GUI?
- 7.6 Q6. Gustong-gusto kong gumawa ng sariling unit file, saan ko ito ilalagay?
1. Panimula
Kapag gumagamit ng Linux, maraming pagkakataon na nais mong suriin ang estado ng serbisyo o makita ang listahan ng mga prosesong tumatakbo. Sa mga pagkakataong iyan, napakakapaki-pakinabang ng systemctl
command.
Tumutugon ang command na ito sa ‘systemd’, na ang boot system at service manager sa Linux, at may malawak na mga tampok kabilang ang pagsusuri ng estado ng mga serbisyo (units), pag-activate, pagtigil, pag-restart, at paglalahad ng listahan.
Lalo na mula sa pananaw ng ‘systemctl list’, hindi lamang ang mga aktibong serbisyo kundi pati ang mga hindi aktibo, mga awtomatikong magsisimula, at iba pa, maaari mong maunawaan ang buong istraktura mula sa iba’t ibang anggulo.
Sa kabanatang ito, una munang iaayon nang maikli ang “Ano ang systemctl?” at ipapaliwanag kung ano ang matututunan sa artikulong ito.
Ano ang systemctl?
Ang systemctl
ay ang standard na tool sa systemd-based Linux distributions para sa pagkontrol at pagsusuri ng mga serbisyo, targets, mount points, at iba pang ‘units’.
Halimbawa, ginagamit ito para mag-activate o magtigil ng mga serbisyo tulad ng Apache (httpd) o SSH, o para ipakita ang kanilang mga estado sa listahan.
Ang Relasyon ng systemd at systemctl
Ang systemd ay ang sentral na mekanismo para sa boot process at service management sa Linux, na pumapalit sa mga dating system tulad ng ‘SysVinit’ o ‘Upstart’. Ang command-line tool para makipag-ugnayan sa systemd ay ang systemctl
.
Ibig sabihin, kung ang systemd ay ang command center, ang systemctl ay parang ‘operator’ na nagbibigay ng mga utos.
Ang Maaari Mong Matutunan sa Artikulong Ito
Sa artikulong ito, makakakuha ka ng mga sagot sa mga ganitong tanong:
- Paano suriin ang listahan ng mga serbisyong tumatakbo ngayon?
- Paano ipakita ang listahan kabilang ang mga hindi aktibo na serbisyo?
- Paano suriin kung awtomatikong magsisimula ang isang serbisyo?
- Paano basahin ang mga resulta ng listahan?
Para sa mga baguhan sa Linux, ipapaliwanag namin nang detalyado at madaling maunawaan ang mga halimbawa ng command at kung paano basahin ang mga output, kaya mangyaring samahan kami hanggang dulo.
2. Paano Ipakita ang Listahan ng Mga Serbisyo Gamit ang systemctl
Sa pamamahala ng sistema ng Linux, napakahalaga na mabilis na maunawaan ang listahan ng mga serbisyo.systemctl
Gamit ang command, hindi lamang ang mga aktibong serbisyo kundi pati na rin ang mga hindi aktibo, ang kalagayan ng awtomatikong pag-boot, at iba pa ay madaling mapapatunayan.
Dito, ipapaliwanag namin ang mga paraan ng pagpapakita ng listahan mula sa pangunahing tatlong pananaw:
- Listahan ng mga aktibong serbisyo
- Buong listahan ng mga serbisyo (kasama ang hindi aktibo)
- Listahan ng mga file ng serbisyo unit (kasama ang mga setting ng pag-boot)
2.1 Ipakita ang Listahan ng Mga Kasalukuyang Aktibong Serbisyo
Una, bilang pinakamahalagang paraan, kung nais mong suriin ang mga “booted” na serbisyo sa kasalukuyang sistema, gumamit ng sumusunod na command.
systemctl list-units --type=service
Kapag pinatakbo ang command na ito, ipapakita ang listahan ng mga aktibong (=gumaganang) serbisyo. Ang output ay naglalaman ng mga sumusunod na item:
Pangalan ng Item | Kahulugan |
---|---|
UNIT | Pangalan ng serbisyo (hal.: ssh.service) |
LOAD | Kung na-load ang unit file |
ACTIVE | Kung ang serbisyo ay epektibo (hal.: active, inactive, failed) |
SUB | Mas detalyadong kalagayan (hal.: running, exited, dead) |
DESCRIPTION | Buod ng serbisyo |
Gamit ang impormasyong ito, posible mong malaman, halimbawa, “kung gumagana ang nginx ngayon” o “ano ang mga gumagana” na sitwasyon.
2.2 Ipakita ang Listahan Kasama ang Mga Hindi Aktibong Serbisyo
Sa standard list-units
, mahalagang tandaan na ipapakita lamang ang mga aktibong serbisyo. Kung nais mong suriin kasama ang mga hindi aktibo, idagdag ang --all
opsyon.
systemctl list-units --type=service --all
Sa pamamagitan ng pagdaragdag ng opsyong ito, mapapakita rin ang mga serbisyo sa “inactive” na estado o mga hindi pa kailanman na-boot.
Kung nais mong higit na i-filter, gumamit ng --state=
opsyon upang kunin lamang ang partikular na estado.
systemctl list-units --type=service --state=inactive
Sa ganitong paraan, malulutas din ang mga pangangailangan tulad ng “suriin lamang ang mga huminto na serbisyo” nang malaya.
2.3 Suriin ang Listahan ng Mga File ng Serbisyo Unit
Hindi lamang “ano ang kasalukuyang estado” kundi kung “alin ang mga epektibong serbisyo at awtomatikong gagana sa boot”, gumamit ng sumusunod na command.
systemctl list-unit-files --type=service
Ang command na ito ay nagpapakita ng listahan ng mga unit file ng serbisyo (impormasyon sa setting), at maaari mong suriin ang bawat estado ng epektibo/hindi epektibo (enabled/disabled atbp.).
Mga Halaga ng STATE | Kahulugan |
---|---|
enabled | Awtomatikong epektibo sa boot |
disabled | Hindi epektibo sa boot, kailangan ng manual na pag-boot |
static | Gumagana batay sa iba pang unit, hindi maaaring i-set ang epektibo/hindi epektibo sa sarili |
masked | Hayagang hindi epektibo, hindi maaaring i-boot (pinoprotektahan) |
Sa pamamagitan ng pagsusuri sa listahang ito, maaari mong visual na maunawaan ang buong konstitusyon ng boot ng sistema, tulad ng “alins ang mga serbisyo na magsisimula sa boot” o “may serbisyo bang hindi sinasadyang na-mask”.
3. Mga Karaniwang Operasyon sa Pamamahala ng Serbisyo Gamit ang systemctl
Ang systemctl
command ay hindi lamang nagpapatunay ng estado ng serbisyo, kundi sumusuporta rin sa maraming operasyon ng pamamahala tulad ng pag-activate, pag-stop, pag-restart, at pag-set ng enable/disable sa pag-boot. Sa bahaging ito, ipapakita namin ang mga karaniwang paraan ng operasyon na madalas gamitin sa operasyon ng Linux system.
Sa pang-araw-araw na pamamahala ng server at pagtugon sa problema, mahalaga na maging bihasa sa mga operasyong ito nang malaya.
3.1 Pag-activate ng Serbisyo
Upang manu-manong i-activate ang isang partikular na serbisyo, gumamit ng start
subcommand tulad ng sumusunod.
sudo systemctl start pangalan_ng_servisyo
Halimbawa, kung nais mong i-activate ang Apache (httpd):
sudo systemctl start httpd.service
Ang command na ito ay agad na nag-a-activate ng serbisyo, ngunit kung nais mong mapanatili ito pagkatapos ng restart, kailangang gamitin ang enable
na tatalakayin sa ibaba nang sabay.
3.2 Pag-stop ng Serbisyo
Upang ihinto ang serbisyo, gumamit ng sumusunod na command.
sudo systemctl stop pangalan_ng_servisyo
Halimbawa:
sudo systemctl stop sshd.service
Ang huminto na serbisyo ay hindi mag-ooperate hangga’t hindi ito eksplikong i-start
muli.
3.3 Pag-restart ng Serbisyo
Kung nais mong i-restart ang serbisyo pagkatapos ng pagbabago ng setting, ang sumusunod na command ay maginhawa.
sudo systemctl restart pangalan_ng_servisyo
Halimbawa:
sudo systemctl restart nginx.service
Ang pag-restart ay isasagawa ang pag-stop muna at pag-activate muli, anuman ang kasalukuyang estado.
3.4 Pagsusuri ng Estado ng Serbisyo
Upang suriin ang detalyadong estado ng serbisyo, gumamit ng status
subcommand.
systemctl status pangalan_ng_servisyo
Halimbawa:
systemctl status mysql.service
Sa command na ito, ipapakita ang kasalukuyang aktibong estado, proseso ID (PID), buod ng log, atbp., na partikular na kapaki-pakinabang sa pagtugon sa problema.
3.5 Pag-enable ng Awtomatikong Pag-activate ng Serbisyo
Kung nais mong awtomatikong i-enable ang serbisyo sa bawat restart, gumamit ng enable
subcommand.
sudo systemctl enable pangalan_ng_servisyo
Halimbawa:
sudo systemctl enable docker.service
Sa pamamagitan ng setting na ito, awtomatikong magsisimula ang serbisyo sa susunod na pag-boot ng system.
3.6 Pag-disable ng Awtomatikong Pag-activate ng Serbisyo
Kung nais mong alisin ang awtomatikong pag-activate, gumamit ng disable
command.
sudo systemctl disable pangalan_ng_servisyo
Halimbawa:
sudo systemctl disable cups.service
Sa ganitong paraan, hindi na magsisimula ang serbisyo sa pag-boot.
3.7 Pagsusuri ng Estado ng Setting ng Awtomatikong Pag-activate
Upang suriin kung ang serbisyo ay enabled o disabled sa kasalukuyan, gumamit ng is-enabled
tulad ng sumusunod.
systemctl is-enabled pangalan_ng_servisyo
Halimbawa ng output:
enabled
Sa pamamagitan ng resulta na ito, mabilis na maunawaan ang patakaran ng pag-activate ng serbisyo.
4. Mga Kapaki-pakinabang na Opsyon at Mga Advanced na Teknik ng systemctl
Ang systemctl
command ay hindi lamang para sa mga batayang operasyon tulad ng pagsisimula at pagpapatigil ng mga serbisyo, kundi pati na rin sa mas advanced at kapaki-pakinabang na mga gawain sa pamamahala. Sa bahaging ito, ipapakilala namin ang ilang bahagyang advanced na mga tampok at mga opsyon na kapaki-pakinabang na malaman.
Sa pamamagitan ng paggamit ng mga teknik na ito, maaari niyong mapahusay pa ang pamamahala ng mga serbisyo sa Linux.
4.1 Paglista ng Mga Relasyon sa Pag-depende ng Serbisyo
Sa Linux, madalas na may mga serbisyo na nakadepende sa ibang yunit (tulad ng serbisyo, mount, target, at iba pa). Upang suriin ang mga relasyon sa pag-depende na iyon, gamitin ang list-dependencies
nang sumusunod:
systemctl list-dependencies pangalan_ng_serbisyo
Halimbawa:
systemctl list-dependencies nginx.service
Ang command na ito ay nagpapakita ng mga yunit na may kaugnayan sa tinukoy na serbisyo sa anyo ng hierarchical na istraktura. Kapaki-pakinabang ito sa pagsisiyasat ng pagkakasunod-sunod ng pag-sisimula o sa pagsusuri kung aling serbisyo ang maaapektuhan nang hindi direktang ng isang yunit.
4.2 Pagpapakita ng Nilalaman ng Unit File
Kung nais mong suriin ang detalyadong mga setting ng serbisyo, maaari mong tingnan nang direkta ang laman ng unit file (.service
file).
systemctl cat pangalan_ng_serbisyo
Halimbawa:
systemctl cat ssh.service
Ang command na ito ay nagpapakita ng aktwal na path at nilalaman ng unit file na binasa. Mabilis na makikita kung may pagpapahusay ba ito at anong mga setting ang ginawa.

4.3 Pag-reload ng Unit File
Pagkatapos magdagdag ng manu-manong pagbabago sa unit file, upang i-reflect ito sa systemctl
, i-execute ang daemon-reload
.
sudo systemctl daemon-reexec
O, mas karaniwan:
sudo systemctl daemon-reload
Sa pamamagitan ng operasyon na ito, ang systemd ay muling binabasa ang unit file, at magiging epektibo ito sa mga susunod na operasyon. Kung binago mo ang config file pero hindi pa naaapektuhan, subukan muna ang command na ito.
4.4 Pagsusuri ng Log ng Pag-execute ng Unit (Karagdagang Tala)
Bagamat hindi mismo ang systemctl
, ang journalctl
command ay kapaki-pakinabang para sa pagsusuri ng log ng serbisyo na may kaugnayan.
journalctl -u pangalan_ng_serbisyo
Halimbawa:
journalctl -u docker.service
Dahil makikita ang mga error sa pag-sisimula ng serbisyo, history ng pag-restart, at iba pa, ito ay mahalagang command bilang unang hakbang sa pagtatrabaho ng mga problema.
5. Mga Karaniwang Problema at ang mga Paraan ng Paglutas Nito
Kapag ginagamit mo ang systemctl
para pamahalaan ang mga serbisyo, maaaring hindi ito gumana ayon sa inaasahan, o magpakita ng mga mensahe ng error. Sa kabanatang ito, ipapaliwanag namin nang malinaw ang mga karaniwang problema at ang mga paraan ng paglutas nito.
Upang hindi mag-panic kapag nangyari ang mga sitwasyong tulad ng “hindi nag-uumpisa ang serbisyo” o “hindi matukoy ang sanhi kahit na sinuri ang estado”, ilalahad namin ang mga pangunahing punto na dapat tandaan.
5.1 Mga Punto ng Pagsusuri Kapag Hindi Nagsisimula ang Serbisyo
Maaaring lumabas ang mga sumusunod na error kahit sinusubukang paandarin ang serbisyo:
Job for apache2.service failed because the control process exited with error code.
See "systemctl status apache2.service" and "journalctl -xe" for details.
Sa ganitong mga kaso, mas madali matukoy ang sanhi kung susundin ang sumusunod na pagkakasunod-sunod:
- Pag-verify ng status
systemctl status service_name
- Pag-verify ng error log
journalctl -xe
- Muling pag-load ng unit file
Kung kamakailan mo lang binago ang unit file, patakbuhin ang sumusunod upang i-reload.
sudo systemctl daemon-reload
- Pag-verify ng port conflict
Maaari mong tingnan kung may ibang proseso na gumagamit ng parehong port gamit ang sumusunod.
sudo netstat -tulnp | grep port_number
5.2 status
How to Read Error Messages
Kapag pinatakbo mo ang systemctl status
, hindi lamang ipinapakita ang estado ng serbisyo kundi pati na rin ang huling log message na na-output. Halimbawa:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
Active: failed (Result: exit-code) since Fri 2025-04-18 12:00:00 JST; 5s ago
Process: 12345 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
Sa ganitong paraan, kapag nakita mo ang mga tala tulad ng “Active: failed” o “status=1/FAILURE”, agad mong mauunawaan na nabigo ang serbisyo at aling proseso ang nagbalik ng error.
Bukod pa rito, mula sa linyang Loaded
, makikita mo ang path ng unit file, kaya agad mong matutukoy kung aling file ang dapat baguhin.
5.3 When the Service Stops on Its Own
Kung ang serbisyo ay nagsisimula ngunit agad na humihinto, karaniwang sanhi nito ay ang mga sumusunod:
- Maling pagsulat sa configuration file
- Port conflict
- Kakulangan ng kinakailangang mga file o direktoryo
- Kulang na permission sa pag-execute
Sa mga ganitong kaso, epektibo ang mga sumusunod na hakbang:
- I-verify muli ang configuration file at gamitin ang mga tool tulad ng
nginx -t
oapachectl configtest
para sa pagsusuri - Subaybayan ang detalyadong log gamit ang
journalctl -u service_name
- Tiyaking umiiral ang kinakailangang mga direktoryo (hal.,
/var/run/xxx
); kung wala, likhain ito
5.4 When Unable to Start in masked
State
Kahit patakbuhin mo ang systemctl start
, maaaring lumabas ang sumusunod na error:
Failed to start example.service: Unit example.service is masked.
Ito ay dahil ang serbisyo ay nasa masked
state (ganap na hindi pinagana), kaya hinaharangan ang pag-start. Upang alisin ito, patakbuhin ang unmask
tulad ng sumusunod.
sudo systemctl unmask service_name
Pagkatapos, maaari nang i-start gamit ang start
.
6. Buod
Ang pamamahala ng serbisyo sa Linux ay isa sa mga hindi maiiwasang gawain sa pang-araw-araw na operasyon ng sistema. Ang sentral na papel nito ay ginagampanan ng systemctl
command, na sa pamamagitan ng “pagpapakita ng listahan” o “pag-ooperate ng serbisyo” ay nagbibigay-daan sa pag-unawa at kontrol ng kalagayan ng buong sistema.
Sa artikulong ito, gamit ang “systemctl listahan” bilang keyword, inilarawan namin nang maayos ang mga sumusunod na punto:
Ang mga bagay na maaaring gawin ng systemctl command (Pagrepaso)
- Pag-verify ng listahan ng mga serbisyo
- Pagpapakita ng mga aktibong serbisyo ngayon (
list-units --type=service
) - Listahan na kinabibilangan ng hindi aktibo (
--all
o--state=
opsyon) - Listahan ng mga service unit files at setting ng pag-boot (
list-unit-files
) - Mga basic na operasyon ng serbisyo
- Pag-start, pag-stop, pag-restart, at pag-check ng status (start / stop / restart / status)
- Setting ng auto-start (enable / disable / is-enabled)
- Mga advanced na operasyon at pagtugon sa problema
- Pag-verify ng dependencies, pagpapakita ng unit files, at pag-reload ng settings
- Pagsisiyasat ng logs sa panahon ng error at pag-identify ng sanhi sa pamamagitan ng status check
Mga Best Practices sa Pamamahala ng Serbisyo
- Mag-check muna ng status bago mag-operate (tiyaking tingnan ang
status
) - Alamin kung may auto-start (i-check gamit ang
is-enabled
) - After changing settings, laging i-execute ang
daemon-reload
- Sa panahon ng problema, i-check ang logs gamit ang
journalctl
Sa operasyon ng Linux, ang pag-accumulate ng mga simpleng confirmation tasks na ito ay humahantong sa mas stable na pagbibigay ng serbisyo at mas mabilis na pagtugon sa mga problema.
Para sa Karagdagang Pag-aaral
Kung pagkatapos basahin ang artikulong ito ay nais mong “matuto ng higit pa nang malalim”, subukan mong mag-explore ng mga sumusunod na topic:
- Mga target ng systemd (pagkakaiba sa runlevel)
- Setting ng periodic execution gamit ang timer (
systemd-timer
) - Paglikha at paglalagay ng custom unit files
7. Mga Madalas na Tanong (FAQ)
Dito, pinagsama-sama ang mga karaniwang tanong at sagot mula sa mga mambabasa tungkol sa systemctl
command at listahan ng mga serbisyo. Maging ang mga nakasanayan na sa mga basic na operasyon, gamitin ito bilang sanggunian para sa pagkukumpirma.
Q1. Ano ang pagkakaiba ng systemctl
at service
command?
A1.
Ang systemctl
ay isang service management command na batay sa systemd, at ito ang standard sa maraming modernong Linux distributions (Ubuntu, CentOS, Fedora at iba pa).
Samantala, ang service
ay isang command na ginamit sa lumang SysVinit system. Bagaman nananatili ito para sa compatibility, sa systemd environment, inirerekomenda ang paggamit ng systemctl
.
Q2. Ano ang pagkakaiba ng list-units
at list-unit-files
?
A2.
- Ang
list-units
ay nagpapakita ng mga yunit na kasalukuyang naka-load (= mga yunit na naka-start o ginamit sa nakaraan). - Ang
list-unit-files
ay naglilista ng lahat ng unit files at ang kanilang estado ng pag-activate (enabled / disabled at iba pa).
Ibig sabihin, gamitin ang isa para sa “mga kasalukuyang gumagana” at ang isa para sa “paano ito naka-configure”.
Q3. Maaari bang i-start ang serbisyo na nasa static state?
A3.
Oo, ang serbisyo na nasa static
state ay maaari ring i-start nang manu-mano gamit ang start
. Gayunpaman, hindi ito maaaring i-enable
para sa awtomatikong pagtakbo sa boot.
Ito ay dahil ang static
services ay dinisenyo na umaasa sa iba pang units para mag-start.
Q4. Hindi ko ma-start ang serbisyo na masked. Paano?
A4.
Ang masked
state ay “ganap na nai-disable” at ang pag-start mismo ay naka-block. Una, gumamit ng sumusunod na command para i-unmask:
sudo systemctl unmask pangalan-ng-serbisyo
Pagkatapos, maaari itong i-start gamit ang start
.
Q5. May paraan ba para i-list ang estado ng serbisyo gamit ang GUI?
A5.
Sa ilang distributions, maaaring suriin ang estado ng serbisyo gamit ang GUI tools tulad ng gnome-system-monitor
o KSysGuard
, Cockpit
at iba pa.
Gayunpaman, para sa advanced operations tulad ng pag-enable/disable ng serbisyo, ang pinakatiyak ay ang paggamit ng systemctl
.
Q6. Gustong-gusto kong gumawa ng sariling unit file, saan ko ito ilalagay?
A6.
Karaniwang, ilagay ito sa /etc/systemd/system/
. Pagkatapos ng editing, huwag kalimutang i-execute ang sumusunod:
sudo systemctl daemon-reload
Pagkatapos, maaari itong pamahalaan nang normal gamit ang start
o enable
.