Newsgroup: it.comp.os.linux.software
Titolo: chiudere un programma da console

la sintassi è ovviamente
kill -9 'PID'
ma -9 = SIGKILL e non va bene perchè io vorrei chiudere il programma 
nella maniera meno indolore possibile !
ho provato -15 che sarebbe SIGTERM ma anche qua il programma si chiude 
senza salvare alcuni dati
che mi resta da provare ? SIGQUIT?  ( -3 ?)
chi mi aiuta ?
grazie
-- 
MultiTaskinG
<bookmarks>
www.blablaforum.com
 
www.epinionista.net
 
www.quattrotempi.net
</bookmarks>
(2006 </berlusconi>)

 
Se invii un  SIGTERM dovrebbe dire al programma "chiuditi e levati dalle 
palle please"
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Se dentro il PCI facessero delle elezioni libere, il 45% voterebbe
Democrazia Cristiana come in Ungheria.
		-- Vincino

 indolore' siano incompatibili fra di loro.
Credo piu' che altro che dipenda da come il processo che vai a "killare"
reagisce al segnale che gli mandi.
ciao
Luca

 nella maniera meno indolore possibile !
Temo sia impossibile (ma non ne sono sicuro al 100%)
Nella programmazione web ad esempio in un "carrello" il programmatore
decide se archiviare i dati in una sessione o direttamente nel database,
nel caso della sessione i dati passano continuamente tra server e browser
finché la sessione non si chiude (o si chiude il browser), ed in questo
caso tutti i dati di quella sessione sono persi.
Sarebbe utile sapere di che programma stiamo parlando nel tuo caso.

 che mi resta da provare ? SIGQUIT?  ( -3 ?)
Dipende tutto dal programma.
Di certo con sigkill viene ucciso senza pietà.
sigterm... credo che non venga proprio ucciso, ma piuttosto "cordialmente invitato" a levarsi dalle balle...
sigquit... boh...
puoi provare
Pedonzolo
-- 
Adolescenza: lo stadio fra la puberta' e l'adulterio.

 anche con SIGTERM rimarrà deluso, mi sa.
Sicuramente non puoi darlo per scontato. Pero' e' anche vero che essendo
il signal che viene dato di default allo shutdown ai processi questi
dovrebbero dimostrarsi *sensibili* e reagire con *grazia* :)
ciao
Luca

 senza salvare alcuni dati
se nel programma in questione i segnali non vengono intercettati non sarà
certo il kernel a gestire il salvataggio dei dati.. sarà il singolo
programma a gestire la chiusura in modo corretto al corrispondente
segnale.. pensa se il sistema operativo dovesse conoscere tutti i
programmi e come salvare i rispettivi dati prima di killare sarebbe un
enorme spreco.. quindi la soluzione per il tuo problema.. ammesso che
esista va cercata nella documentazione del singolo programma..
ps
tutto ciò che ho detto sopra è rigorosamente afaik.. magari c'è un segnale
standard preposto alla chiusura regolare e sono i singoli programmi in
torto a non implementarlo.. ma mi sembra poco probabile.. e tra l'altro
non mi interessa granchè..
-- 
[Filippo...........................]
[Linux User #342745................]
        ==[...penguin powered...]==

 chi mi aiuta ?
se il software non trappa il segnale c'č poco da fare... prova anche con
SIGINT (-2) che equivale al ctrl+c
-- 
ale

 Sarebbe utile sapere di che programma stiamo parlando nel tuo caso.
Amule ;-)


 Amule ;-)
Spiacente è fuori dalle mie competenze ;-)
Cerca tra i ragazzini smanettoni che di ste cose sanno tutto..

work ha scritto:

killall -9 amule
e magari fai anche un "wall vi ho cazziati!!!" :-)
-- 
Renato

 
ma veramente lo uso io ;-D solo che voglio che si chiuda automaticamente 
alle 9.00 AM... il guaio è che scedulando un AT con il comando di cui 
sopra si chiude di brutto e non mi salva le statistiche (e sicuramente 
anche altro)


 
Il comportamento dovrebbe essere quello, cioè salvare i dati. Se poi il 
programma appena uno gli fa buh se la fa sotto è colpa del programma
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
Sono andato a vedere l'ultimo film di Bo Derek dove lei interpreta una
schizofrenica.  Si intitola "20"!
		-- John Carfi & Cliff Carle

 chi mi aiuta ?
deve esserci un signal handler che trappa il segnale (il sigkill non e' 
trappabile, pero')
potresti vedere nei sorgenti di amuli se questo handler esiste oppure no; e 
, nel secondo caso, scriverne uno te.
Questo e' proprio un ottimo esempio delle potenzialita' e della 
flessibilita' dell'open source :-)

 anche altro)
Guarda, il segnale di default è il 15. Il 9 è il TERM e non è 
trappabile. Se killando amule con il 15 esce in maniera sporca è un bug. 
  Segnalalo agli sviluppatori: non dovrebbe essere così difficile 
trappare il SIGKILL e lanciare la stessa funzione di "pulisci, salva e 
esci" che parte quando premi il "chiudi" della finestra o dell'applicazione.
-- 
Renato

 
Hai già provato se riesci a far qualche cosa con amulecmd ?
 Gio'
-- 
/*
 * Solutions for New Business - 
http://www.snb.it
 */


come ti hanno già spiegato in molti il segnale 9 non è trappabile, e se il
segnale 15 non viene gestito come vorresti dall'applicazione non c'è molto
altro che puoi fare con il kill....a meno di non personalizzare il codice di
amule e ricompilarlo (che certo non è alla portata di tutti).
Se usi la gui di amule FORSE (sottolineo forse) riesci a controllarla da
script bash tramite dcop. Bisogna vedere, in questo caso, quale è il livello
di integrazione con kde dell'applicazione....e nel caso di amule non so
dirti molto (tra l'altro non l'ho installato e quindi non posso fare le
prove del caso)....e sinceramente sono diffidente...ma tentar non nuoce.
Puoi fare delle prove velocemente usando kdcop.
ciauuuu
Menez
 
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Puoi fare delle prove velocemente usando kdcop.
amule è scritto in wxGTK, quindi con kdcop non ci fai un tubo, 
sfortunatamente.
-- 
Renato

 sfortunatamente.
passsiensa.....avevo detto che non lo conoscevo :)
ciauuuuu
