[RISOLTO] Qual e' il segnale preciso per stoppare un proces?

Discussioni relative a Debian e Linux

[RISOLTO] Qual e' il segnale preciso per stoppare un proces?

Messaggioda maxt » 30/11/2017, 21:45

non riesco a capire quale e' il segnale per stoppare un processo

immaginate di lanciare find / e volerlo stoppare
cioe' non voglio stopparalo con SIGSTOP (che credo sia l'equivalente di ctrl+Z)

voglio fermarlo ma non tornare alla shell, solo fermare il find
in FreeBSD uso il SIGTSTP ma su debian non va, il find va dietro le quinte e ritorna alla shell come il SIGSTOP
io voglio semplicemente stoppare il find e basta, come se uno premesse control+s
qual e' il segnale corrispondente con debian?? ??? ???
Ultima modifica di maxt il 13/12/2017, 21:24, modificato 1 volta in totale.
maxt
Hero Member
Hero Member
 
Messaggi: 558
Iscritto il: 27/12/2011, 10:00

Re: qual e' il segnale preciso per stoppare un processo?

Messaggioda byte64 » 01/12/2017, 20:37

pkill -9 find
byte64
Sr. Member
Sr. Member
 
Messaggi: 350
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: qual e' il segnale preciso per stoppare un processo?

Messaggioda maxt » 01/12/2017, 20:45

nooooo cosi' lo uccide proprio il processo
maxt
Hero Member
Hero Member
 
Messaggi: 558
Iscritto il: 27/12/2011, 10:00

Re: qual e' il segnale preciso per stoppare un processo?

Messaggioda Aki » 09/12/2017, 16:24

Nella man page indicata nel link http://man7.org/linux/man-pages/man7/signal.7.html sono specificati tutti i segnali che puoi inviare ad un processo, compreso quello da te citato
Aki
Global Moderator
Global Moderator
 
Messaggi: 7683
Iscritto il: 27/12/2007, 16:59

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda maxt » 10/12/2017, 21:32

eh questo lo so, ma su debian non funziona
la domanda era, come si fa a farlo su debian?
maxt
Hero Member
Hero Member
 
Messaggi: 558
Iscritto il: 27/12/2011, 10:00

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda byte64 » 11/12/2017, 8:32

In bash ctrl+s per freezare e ctrl+q per riprendere mi funzionano perfettamente. (Uso debian testing)
PS: scusami per il pkill -9, è che avevo letto molto di fretta.....e poi da qualche tempo non mi arrivano più gli avvisi delle risposte dei thread che seguo.
byte64
Sr. Member
Sr. Member
 
Messaggi: 350
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda maxt » 11/12/2017, 16:21

In bash ctrl+s per freezare e ctrl+q per riprendere mi funzionano perfettamente. (Uso debian testing)


questo lo so, ma io vorrei freezare usando un kill qualcosa non la tastiera
maxt
Hero Member
Hero Member
 
Messaggi: 558
Iscritto il: 27/12/2011, 10:00

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda Aki » 11/12/2017, 17:46

maxt ha scritto:questo lo so, ma io vorrei freezare usando un kill qualcosa non la tastiera

Se In Debian Jessie 8.9 in una finestra di terminale impartisco il comando:
Codice: Seleziona tutto
find /

ed in un'altra finestra di terminale impartisco il comando:
Codice: Seleziona tutto
kill -TSTP $( pgrep find )

si ferma il processo collegato al comando find nell'altro terminale, mentre se impartisco il comando:
Codice: Seleziona tutto
kill -CONT $( pgrep find )

il processo collegato al comando find nell'altro terminale riprende correttamente.

Naturalmente, il comando pgrep (come sopra scritto) restituisce un valore univoco di PID solo se c'è un solo processo collegato al comando "find".

Quindi, per quanto avuto modo di verificare, in Debian funziona tutto correttamente.
Aki
Global Moderator
Global Moderator
 
Messaggi: 7683
Iscritto il: 27/12/2007, 16:59

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda maxt » 11/12/2017, 17:59

io ho aggiornato tutte le macchina con debian dalla versione 8 alla 9, e al momento non ho una Jessie per provare

quando impartisci
Codice: Seleziona tutto
kill -TSTP $( pgrep find )
che succede alla finestra dove stava girando il find?

si blocca il find e ritorna alla shell, o si blocca il find e non ritorna alla shell?
maxt
Hero Member
Hero Member
 
Messaggi: 558
Iscritto il: 27/12/2011, 10:00

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda Aki » 11/12/2017, 18:33

maxt ha scritto:io ho aggiornato tutte le macchina con debian dalla versione 8 alla 9, e al momento non ho una Jessie per provare

Ho precisato la distribuzione usata per il test solo per fornire tutti gli elementi: la Debian 9 dovrebbe comportarsi esattamente come la Debian 8

maxt ha scritto:quando impartisci
Codice: Seleziona tutto
kill -TSTP $( pgrep find )
che succede alla finestra dove stava girando il find? si blocca il find e ritorna alla shell, o si blocca il find e non ritorna alla shell?

Succede quello che deve succedere; il terminale ritorna alla linea di comando con il messaggio:
Codice: Seleziona tutto
[1]+  Fermato                 find /

L'elenco dei processi indica:
Codice: Seleziona tutto
$ ps aux | grep find
aki       25387  2.2  0.2   4524  2076 pts/1    T    18:31   0:02 find /
aki       25397  0.0  0.2   4824  2044 pts/1    S+   18:32   0:00 grep find

maxt ha scritto:immaginate di lanciare find / e volerlo stoppare cioe' non voglio stopparalo con SIGSTOP (che credo sia l'equivalente di ctrl+Z) voglio fermarlo ma non tornare alla shell, solo fermare il find in FreeBSD uso il SIGTSTP ma su debian non va

Puoi spiegare cos'è che "non va" in Debian rispetto al quesito posto ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 7683
Iscritto il: 27/12/2007, 16:59

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda maxt » 11/12/2017, 22:36

Puoi spiegare cos'è che "non va" in Debian rispetto al quesito posto ?


praticamente io voglio inviare il segnale che fa fare esattamente quello che fa fare ctrl+s, non deve fermarlo e tornare alla shell, deve fermarlo e basta
maxt
Hero Member
Hero Member
 
Messaggi: 558
Iscritto il: 27/12/2011, 10:00

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda Spoon » 12/12/2017, 14:58

Dal link che ha postato Aki si legge che per fermare un processo c'e' anche l'alternativa
Codice: Seleziona tutto
kill -STOP ...

ed eseguendo il "test" fatto da Aki con questa variante, ottengo esattamente il comportamento che stai cercando.
Spoon
wiki member
wiki member
 
Messaggi: 325
Iscritto il: 23/11/2013, 14:37

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda maxt » 12/12/2017, 15:21

che versione di debian stai utilizzando?
quando ho provato io non funzionava
maxt
Hero Member
Hero Member
 
Messaggi: 558
Iscritto il: 27/12/2011, 10:00

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda byte64 » 12/12/2017, 16:13

Kill sia con -STOP che con -TSTP funziona......
ma il "freeze" desiderato da maxt avviene solo dopo aver dato prima anche un kill -CONT, e quindi di nuovo kill -STOP o kill -TSTP.
Ho fatto anche io lo stesso test di Aki e Spoon.
@Spoon, ma a te il freeze senza il ritorno alla shell col messaggio "Fermato" avviene subito al primo lancio del kill?
Nel caso potrebbe essere utile verificare le impostazioni del tty dove viene lanciato il find , con il comando stty -a cosa ti esce?
byte64
Sr. Member
Sr. Member
 
Messaggi: 350
Iscritto il: 07/01/2017, 19:02
Località: Bergamo

Re: Qual e' il segnale preciso per stoppare un processo?

Messaggioda Spoon » 12/12/2017, 16:31

Sono stato un po' frettoloso poiche' non avendo il computer con me in questi giorni, ho usato una macchina su cui gira Ubuntu 16.04 a cui ho accesso. Cio' detto, non credo ci sia una grande differenza. Per essere chiari, la versione del pacchetto procps e' la 2:3.3.10-4ubuntu2.3.
Confermo il comportamento descritto da byte64, prima avevo provato -TSTP come primo flag e -STOP come secondo flag (dopo aver usato -CONT) per cui non mi ero accorto di questa discrepanza.
Spoon
wiki member
wiki member
 
Messaggi: 325
Iscritto il: 23/11/2013, 14:37

Prossimo

Torna a Generale

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti