Newsgroup: it.comp.os.linux.sys
Titolo: riconoscere e killare applicazioni bloccate..

Ciao, sapete se č possibile per uno script (eventualmente un programma se
esiste..) riconoscere se un'applicazione č bloccata? Il problema č questo, ho un
programma che spesso me freezza X, non posso cambiare console,
Crtl+Alt+Backspace non va, il SysRq non va e nemmeno il demone collegato al
joypad funziona. Linux ovviamente continua a "girare" ma sono stato costretto
diverse volte a resettare. Allora, pensavo ad uno script che ogni tot minuti
controlli che il programma e/o X siano "vivi", in caso contrario dare un bell
kill -9 ...
E' possibile? Esiste qualche programma che fa questo lavoro?? Non ditemi di no
che non ci credo..
Ciao e grazie. 
-- 
*** Per E-mail rimuovi ModE dall'indirizzo ***
             *** ICQ 33500725 ***
           *** Powered by Linux ***

 joypad funziona. Linux ovviamente continua a "girare" ma sono stato costretto
Non fai prima ad usare programmi meno buggati?
-- 
Pierluigi De Rosa (
tho...@durin.khazad-dum.net
).
<<      LINUX: the choice of a GNU generation     >>
<<   For my real address... ask the Balrog.       >>
* Sostenete la Lega per la Soppressione dei Troll *

 Non fai prima ad usare programmi meno buggati?
Certo ma cosě non mi diverto....
Ciao.


 Certo ma così non mi diverto....
De gustibus, cmq credo che cio' che chiedi sia un po' difficile.. come
farebbe il tuo script a capire qual'e' il processo da killare?


 farebbe il tuo script a capire qual'e' il processo da killare?
E' quello che chiedo. Mi basterebbe riconoscere il blocco di X.
Non deve controllare tutte le applicazioni che girano ma solo quelle che gli
dico io, che poi sarebbero X ed eventualmente i programmi incriminati(1 o 2).


 dico io, che poi sarebbero X ed eventualmente i programmi incriminati(1 o 2).
Non esiste nulla che ti dica "il processo ciccio si e' bloccato.. lo
terminiamo?". Cio' che tu vuoi e' Clippy, in pratica...


 wrote:
-> In un messaggio del Mon, 17 Apr 2000 22:05:17 +0200 
Dan...@kailed.kailed.net
 scriveva:
-> 
-> >> >> Non fai prima ad usare programmi meno buggati?
-> >> > Certo ma cosě non mi diverto....
-> >> De gustibus, cmq credo che cio' che chiedi sia un po' difficile.. come
-> >> farebbe il tuo script a capire qual'e' il processo da killare?
-> > E' quello che chiedo. Mi basterebbe riconoscere il blocco di X.
-> > Non deve controllare tutte le applicazioni che girano ma solo quelle che gli
-> > dico io, che poi sarebbero X ed eventualmente i programmi incriminati(1 o 2).
-> Non esiste nulla che ti dica "il processo ciccio si e' bloccato.. lo
-> terminiamo?". Cio' che tu vuoi e' Clippy, in pratica...
No, e' un watchdog. Ed esiste, tanto e' vero che il kernel di linux ne ha uno.
bye
Gianluca
-- 
Home Page                	Contro i brevetti del sw     Boicotta Microsoft
www.infinito.it/utenti/chewbe
 
no-patents.prosa.it/
 
www.boycott-ms.org/
 
"If we have to file a thousand lawsuits a day, we'll do it.
It's less expensive than losing CONTROL of YOUR creative works."
---Jack Valenti, President and CEO, Motion Picture Association of America

 No, e' un watchdog. Ed esiste, tanto e' vero che il kernel di linux ne ha uno.
Non mi sembra il massimo... anzi, e' una di quelle tipiche opzioni che
non andrebbero usate se non sai cosa fai, pena molti dolori inguinali:
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=> CLIP HERE < =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
CONFIG_WATCHDOG:
If you say Y here (and to one of the following options) and create a
character special file /dev/watchdog with major number 10 and minor
number 130 using mknod ("man mknod"), you will get a watchdog, i.e.:
subsequently opening the file and then failing to write to it for
longer than 1 minute will result in rebooting the machine. This
could be useful for a networked machine that needs to come back
online as fast as possible after a lock-up.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=> CLIP HERE < =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
non mi pare sia proprio il suo caso da quanto si legge...


...
Nooooo, Clippy nooooo, vade retro Satana!!!
Piů semplicemente pensavo che Linux fosse in grado di riconoscere i programmi
e/o processi bloccati ed eventualmente killarli al volo.
Per capire, se un programma si blocca, io non ho nessuna possibilitŕ di saperlo?
Linux non lo riconosce come tale (bloccato/crashato)?? PS non lo dice? I
programmi in esecuzione, vengono rappresentati in /proc ??
Anche se non č possibile fare ciň che voglio, vorrei capire esattamente il
perchč....
Ciao e grazie.


 programmi in esecuzione, vengono rappresentati in /proc ??
Non penso proprio... /proc serve ad altro.. magari potresti provare in
/proc/kcore se hai voglia di sprecare tempo, visto che quella e'
l'immagine della memoria del computer ma non credo ne valga la pena.


 wrote:
-> In un messaggio del Tue, 18 Apr 2000 10:36:33 +0200 Gianluca scriveva:
-> 
-> > -> Non esiste nulla che ti dica "il processo ciccio si e' bloccato.. lo
-> > -> terminiamo?". Cio' che tu vuoi e' Clippy, in pratica...
-> 
-> > No, e' un watchdog. Ed esiste, tanto e' vero che il kernel di linux ne ha uno.
-> Non mi sembra il massimo... anzi, e' una di quelle tipiche opzioni che
-> non andrebbero usate se non sai cosa fai, pena molti dolori inguinali:
Come al solito dipende: sul mio di casa ok, ma su un server non piantonato
(i chioschi ad esempio) puo' essere utile.
-> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=> CLIP HERE < =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-> 
-> CONFIG_WATCHDOG:
-> 
-> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=> CLIP HERE < =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-> 
-> non mi pare sia proprio il suo caso da quanto si legge...
Quello no, ma la teoria e' quella. Devi fare qualcosa che controlli
se l'applicazione e'  viva. Chiaramente il cosa controllare e' la 
parte difficile della cosa.


 parte difficile della cosa.
Appunto, ripeto la domanda: ne vale la pena nel suo caso? Io direi
proprio di no !


 Non penso proprio... /proc serve ad altro.. magari potresti provare in
Uhmmmmm....
[root@kailed~] # pidof X
293
[root@kailed~] # cat /proc/293/status
Name:   X
State:  R (running)
Pid:    293
PPid:   292
Uid:    500     0       0       0
Gid:    100     100     100     100
Groups: 100 14 16
VmSize:    46844 kB
VmLck:         0 kB
VmRSS:     16940 kB
VmData:    16080 kB
VmStk:        96 kB
VmExe:      2880 kB
VmLib:      2776 kB
SigPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000301000
SigCgt: 00000000018046cb
CapInh: 00000000fffffeff
CapPrm: 00000000fffffeff
CapEff: 00000000fffffeff
.....
La voce State *potrebbe* essere "interessante"...
Bisognerebbe sapere se esiste uno "State" per i processi bloccati, in quel caso,
forse, basterebbe poco per fare quello che voglio...
Ciao.


 wrote:
-> In un messaggio del Tue, 18 Apr 2000 12:45:30 +0200 Gianluca scriveva:
-> 
-> > -> > No, e' un watchdog. Ed esiste, tanto e' vero che il kernel di linux ne ha uno.
-> > -> Non mi sembra il massimo... anzi, e' una di quelle tipiche opzioni che
-> > -> non andrebbero usate se non sai cosa fai, pena molti dolori inguinali:
-> 
-> > Come al solito dipende: sul mio di casa ok, ma su un server non piantonato
-> > (i chioschi ad esempio) puo' essere utile.
-> E dipende anche da cosa faccia quel server e se e' _veramente_
-> indispensabile (ergo ne valga la pena) avere questa feature nel kernel.
Per un server direi che ne puo' valere la pena. Certo che se e' il server
su cui lavori, te ne accorgi se si inchioda.
-> > -> CONFIG_WATCHDOG:
-> [..]
-> > Quello no, ma la teoria e' quella. Devi fare qualcosa che controlli
-> > se l'applicazione e'  viva. Chiaramente il cosa controllare e' la 
-> > parte difficile della cosa.
-> Appunto, ripeto la domanda: ne vale la pena nel suo caso? Io direi
-> proprio di no !
Boh, contento lui...


dico io, che poi sarebbero X ed eventualmente i programmi incriminati(1 o 2).
Bisognerebbe prima di tutto vedere PERCHE' si freeza tutto. Troppo
carico di CPU? Si freeza anche il mouse?
Eventualmente si potrebbe, da cron, fare girare un piccolo script,
che chiami X senza disturbare (es. una finestra nulla?).
Lo script lancia il test in background. Se dopo cinque secondi, il
processo e' ancora in hang e aspetta che X gli dia la via, parte a
razzo un signal 9 :-)
Leonardo
".signature": bad command or file name

 Boh, contento lui...
Appunto..


 Name:   X
[..]
Boh vedi un po' tu... ma secondo me e' una perdita di tempo e faresti
prima ad usare programmi non buggati o a risolvere in altro modo il
problema, invece di aggirarlo come stai facendo...


 problema, invece di aggirarlo come stai facendo...
Ok ma lasciando perdere il caso specifico, è possibile che da nessuna parte
risulti qualcosa se un processo è bloccato? Quali sono gli stati possibili di un
processo? R=running, S=sleeping, Z=zombie, ce ne sono altri?


 processo? R=running, S=sleeping, Z=zombie, ce ne sono altri?
Sinceramente non lo so, non mi sono mai posto il problema.


processo? R=running, S=sleeping, Z=zombie, ce ne sono altri?
D=uninterruptible sleep
T=stopped or traced
W=the process has no resident pages (sWapped)
N=the process has a positive nice value
Gli ultimi due sono attributi, non veri stati.
-- 
Lorenzo
"Given enough eyeballs, all bugs are shallow", Linus'Law
(address rot13 encoded)

 Gli ultimi due sono attributi, non veri stati.
Ok, grazie ma che tu sappia, un processo bloccato, viene riconosciuto come
tale???


tale???
Assolutamente no.
Non e` possibile dare una definizione precisa di "processo bloccato".
Un processo puo` bloccarsi per mille motivi.
