Puncte:0

Când „opresc” un proces de sistem, procesul de comandă „ExecStart” nu se oprește

drapel it

Rulez un serviciu de sistem cu următoarea configurație my_script.service:

[Unitate]
Description=Programul meu demonstrativ.

[Serviciu]
Utilizator=numele meu
ExecStart=/my_scripts/some_async_python_script.py
Restart=intotdeauna
RestartSec=5s

[Instalare]
WantedBy=multi-user.target

Înainte de a alerga, aș face asta o dată: sudo systemctl daemon-reload și sudo systemctl enable my_script.service si atunci as incepe asa: sudo systemctl start my_script.service

Până acum acest lucru funcționează bine.

Problema pe care o am este că atunci când opresc sudo systemctl stop my_script.service și apoi fă htop Pot vedea /my_scripts/some_async_python_script.py încă alergând. Văd că are un proces părinte. Când opresc procesul copil, acesta este mort (adică nu trebuie să opresc procesul părinte).

Întrebarea mea este: de ce comanda mea de serviciu încă rulează, chiar dacă am oprit serviciul?

Michael Hampton avatar
drapel cz
Ce este neobișnuit și neașteptat la acest script Python? de exemplu. se bifurca? Oricum, cum a obținut un proces de copil?
Newskooler avatar
drapel it
Scriptul python se conectează la un websocket și transmite date în flux asincron și bănuiesc că acolo este problema (dar nu înțeleg pe deplin de ce). Scriptul folosește biblioteci precum `from aiostream import stream` și `import socket` și `from websockets import connect` Ajută aceste informații cu ceva?
Newskooler avatar
drapel it
@MichaelHampton Mai există informații despre partea mea cu care să pot ajuta?
Michael Hampton avatar
drapel cz
Care este starea serviciului după ce ați încercat să-l opriți? Ce era în jurnal?
Newskooler avatar
drapel it
Înainte de `stop` scrie `Active: active (running)` și după `stop` spune `Active: inactive (dead)` (așa cum era de așteptat). PID-ul principal a dispărut într-adevăr (când fac `htop`, nu îl văd nicăieri), totuși văd un alt PID rulând, care este codul din interiorul serviciului meu systemd. Pe ăla trebuie să-l opresc manual. Nu știu de ce systemd nu o oprește și el.

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.