Puncte:0

cum să activați pornirea/oprirea/repornirea pentru un serviciu nou adăugat în Ubuntu

drapel ar

Am creat un serviciu care face o conexiune la baza de date și face unele interogări. Vreau să știu dacă vreau să activez „service xyzservice start” sau „service xyzservice stop” sau repornesc unde trebuie să fac această intrare de serviciu în Ubuntu? care sunt pașii.

Puncte:0
drapel in

Când spui „Am creat un serviciu”, mă întreb dacă vrei să spui „Am creat un script shell” sau ceva asemănător. Deoarece crearea unui serviciu ar implica scrierea unui .serviciu fișier, care reprezintă 90% din provocarea în îndeplinirea sarcinii.

Deci, de dragul acestui răspuns, voi presupune că ați creat un script shell numit query_db.sh. Următorul pas va fi crearea .serviciu fișier, apoi activați-l.

Iată cum creați un serviciu:

  1. Deschideți terminalul (dacă nu este deja deschis)
  2. Creați un fișier nou pentru serviciu. O sa-l sun pe al meu query_db.service:
    sudo vi /etc/systemd/system/query_db.service
    
    Notă: Simțiți-vă liber să utilizați orice editor de text doriți. Utilizarea vi în acest exemplu nu este nici o sugestie, nici o aprobare. Este doar o forță a obiceiului.
  3. Lipiți următoarele în noul fișier, editând valorile relevante acolo unde este cazul:
    [Unitate]
    Descriere=Efectuați o interogare
    
    [Serviciu]
    User=dheeraj
    WorkingDirectory=/home/dheeraj/scripts
    ExecStart=/home/dheeraj/scripts/query_db.sh
    Tip=simplu
    TimeoutStopSec=10
    Restart=la eșec
    RestartSec=5
    
    [Instalare]
    WantedBy=multi-user.target
    
    Notă: Asigurați-vă că schimbați Utilizator, WorkingDirectory, și ExecStart valorile la ceva corect. Celelalte elemente pot rămâne neatinse dacă nu sunteți sigur de cum să le configurați.
  4. Verificați dacă fișierul script este executabil:
    sudo chmod +x /home/dheeraj/scripts/query_db.sh
    
  5. Reîncărcați systemd daemoni:
    sudo systemctl daemon-reload
    
  6. Activează-ți demonul:
    sudo systemctl enable query_db
    
  7. Începeți demonul:
    sudo systemctl start query_db
    

Cam despre asta e. Acum puteți verifica starea serviciului dvs. cu:

sudo systemctl status query_db

Și, desigur, vă puteți opri serviciul cu:

sudo systemctl stop query_db

Dacă preferați să utilizați comenzile mai scurte, schimbați acțiunea cu numele serviciului:

starea serviciului sudo query_db
sudo service query_db stop

Asta este într-adevăr tot ceea ce este.

DheerajK avatar
drapel ar
Pe ssystem-ul meu primește eroare :bash: systemctl: comanda nu a fost găsită
DheerajK avatar
drapel ar
# cat /etc/os-release NAME="Ubuntu" VERSION="16.04.2 LTS (Xenial Xerus)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 16.04.2 LTS" VERSION_ID="16.04" HOME_URL="http://www.ubuntu.com/" SUPPORT_URL="http://help.ubuntu.com/" BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" VERSION_CODENAME=xenial UBUNTU_CODENAME=xenial Am citit pe unele site-uri că trebuie să folosim Upstart dacă nu este găsit systemctl, Mă puteți ajuta cu pașii pentru ca serviciul să poată reporni/opri/începe să utilizeze Upstart?
drapel in
Nu. Scuze, dar nu pot ajuta. 16.04 a fost EOL de câteva luni deja și nu mai am niciun VM cu acea versiune cu care să testez.
DheerajK avatar
drapel ar
Mulțumesc Matigo, dacă aveți vreo referință pe care să o pot folosi și să încerc acele lucruri care mi-ar fi de ajutor. Am terminat cu codul pentru 3 servicii, dar nu le pot face să activeze aceste operațiuni de pornire/oprire/repornire.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.