Vraag
Beste antwoord (via ernstoud op 25-09-2023 12:06)
Killall roept het kill commando aan op de processen die hij vindt, en die doet dat niet standaard, maar wel wanneer je een negatief proces ID (dus procesgroep ID) meegeeft en alle child processes correct dezelfde procesgroep ID hebben gekregen.
Je zult dus expliciet met setpgid of een andere interne functie de groep ID gezet moeten hebben, anders gebeurt het niet.If pid is negative, but not -1, sig shall be sent to all processes (excluding an unspecified set of system processes) whose process group ID is equal to the absolute value of pid, and for which the process has permission to send a signal.
Alle reacties
Ik weet het niet zeker, maar ik gok op "nee".
Immers, met & starten deze processen losgekoppeld van het hoofdproces.
Maar "killall" killt processen op basis van naam.
Dus als deze processen dezelfde naam hebben, dan gaan ze wel mee
Immers, met & starten deze processen losgekoppeld van het hoofdproces.
Maar "killall" killt processen op basis van naam.
Dus als deze processen dezelfde naam hebben, dan gaan ze wel mee
Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD
Killall roept het kill commando aan op de processen die hij vindt, en die doet dat niet standaard, maar wel wanneer je een negatief proces ID (dus procesgroep ID) meegeeft en alle child processes correct dezelfde procesgroep ID hebben gekregen.
Je zult dus expliciet met setpgid of een andere interne functie de groep ID gezet moeten hebben, anders gebeurt het niet.If pid is negative, but not -1, sig shall be sent to all processes (excluding an unspecified set of system processes) whose process group ID is equal to the absolute value of pid, and for which the process has permission to send a signal.
Ik denk ook zoiets. Ik ervaar nl. af en toe een crash kort na die killall, ik vermoed dat een gestart proces in de problemen komt omdat het killen van het hoofdproces bestanden sluit. Ik kan ook niets in de logs vinden over de oorzaak van de crash omdat de logs na de crash opnieuw opgebouwd worden, betreft een router met weinig lokale storage.GarBaGe schreef op maandag 25 september 2023 @ 11:51:
Ik weet het niet zeker, maar ik gok op "nee".
Immers, met & starten deze processen losgekoppeld van het hoofdproces.
Maar "killall" killt processen op basis van naam.
Dus als deze processen dezelfde naam hebben, dan gaan ze wel mee
Het betreffende script zorgt er voor dat als het iptables logfile te groot wordt voor het beperkte geheugen van de router het loggen (logread -f) stopt, het logfile veilig gesteld wordt, er een leeg logfile gemaakt wordt en logread weer gestart wordt.
Als logread blijft draaien terwijl “onder water” het logfile verwijderd wordt, kan ik me een segfault wel voorstellen… en de watchdog in de router zal de router dan rebooten.
Gek genoeg kan ik nergens er iets over vinden.
Zal er voor moeten zorgen dat de “subprocessen” zoals logread ook gekilld worden.