Strādājot ar pakalpojumi distroAtkarībā no izmantotās sistēmas veida (SysV init, Upstart, systemd utt.), Pakalpojuma apturēšanas, palaišanas, apturēšanas, restartēšanas utt. Veids var atšķirties. Tas ir brīdis, kad daudzi šaubās, kā tas faktiski tiek darīts, un fakts, ka pastāv vairākas dažādas sistēmas, nepalīdz vēl dažiem nepieredzējušiem lietotājiem, kuri mēģina to izdarīt ar nepareizu komandu.
Tāpēc es parādīšu vienkāršu apmācību, ar kuru jums būs skaidrāk, kā jūs varat strādāt savā distro, neatkarīgi no tā, kas tas ir. Lai to izdarītu, vispirms jums ir jābūt skaidram par dēmona veidu, kuru izmantojat. Kā jau teicu, ne visos rajonos tiek izmantots vienādi startēšanas sistēmas tips. Patiesībā, kā jūs zināt, daži ir iebilduši pret jauno systemd un ir izveidojuši dakšas vai atvasinājumus ar veco SysV, kā tas ir ar Devuan, salīdzinot ar Debian ...
Kā es varu zināt, kādu sistēmu izmanto mana distro? To var uzzināt, meklējot šos maršrutus, un, ja jums tie ir, šī sistēma būs jūsu distro:
- Lai uzzinātu, vai jums ir systemd: atrodiet ceļu / usr / lib / systemd
- Lai uzzinātu, vai jums ir Upstart: atrodiet šo citu ceļu / usr / share / upstart
- Lai uzzinātu, vai jums ir SysV init: atrodiet ceļu /etc/init.d
- Tur pārējiePat ja tas ir nedaudz retāk, šajos konkrētajos gadījumos jūs varat darīt kaut ko līdzīgu, ja jums ir aizdomas, ka tie nav iepriekš minētie.
Vēl viens veids, kā padarīt to vēl vieglāku, jo tas visiem ir vienāds, tas ir meklēt informāciju in / proc par PID = 1, tas ir, pirmo procesu, kurā pārējie karājas un kas precīzi atbilst šai startēšanas dēmonai. Lai to izdarītu, vienkārši palaidiet šo komandu, un tā atgriezīs vārdu:
sudo stat /proc/1/exe
Tagad jūs zināt, kāda sistēma jums ir, tāpēc pieņemsim komandas, kuras varat izmantot pakalpojumu pārvaldībai:
- SysV inic: /etc/init.d/[service_demon_name] [darbība]
- systemd: systemctl [darbība] [pakalpojuma_demona_nosaukums]
- Sākums: pakalpojums [pakalpojuma_demona_nosaukums] [darbība]
- pārējie: Ja izmantojat citu sistēmu, labāk apskatiet rokasgrāmatu. Piemēram, dažos retos gadījumos Linux un citos Unixos pakalpojuma atiestatīšanai var tikt izmantots SIGHUP procesa signāls: kill -HUP $ (cat / var / run / [service-PID])
jums vajadzētu aizstāt [darbība] par to, kas jums jādara. Piemēram, ja jums ir jārestartē, tad izmantojiet atiestatīšanu, ja vēlaties pārtraukt lietošanas apturēšanu, ja vēlaties sākt lietot zvaigznīti utt. Un aizstājiet [daemon_name] ar tā pakalpojuma dēmona nosaukumu, kuru vēlaties sākt. Piemēram:
systemctl reset httpd
Es ceru, ka jums tagad ir skaidrāk.
Vai joprojām ir sistēmas ar iesācēju? Es domāju, ka tikai daži vecie Ubuntu.
Arī tad, ja jums ir systemd, jums joprojām var būt mape etc / init.d
Es gribētu izmantot kādu citu komandu, piemēram, ps vai pstree, nevis ļaunprātīgi izmantot sudo-this-sudo-that.
Sveicieni
"Service" komanda darbojas gan init.d, gan systemd sistēmās