<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Programmazione &#38; Tecnologia &#187; killall</title>
	<atom:link href="http://www.big-bug.net/tag/killall/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.big-bug.net</link>
	<description>Informatica, Programmazione, Geek &#38; Hi-Tech</description>
	<lastBuildDate>Sun, 20 Jun 2010 13:34:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Come killare processi sui sistemi Unix</title>
		<link>http://www.big-bug.net/2009/come-killare-processi-sui-sistemi-unix/</link>
		<comments>http://www.big-bug.net/2009/come-killare-processi-sui-sistemi-unix/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 10:40:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[kill]]></category>
		<category><![CDATA[killall]]></category>
		<category><![CDATA[killare processo]]></category>
		<category><![CDATA[ps aux]]></category>
		<category><![CDATA[terminare un processo su linux-unix]]></category>

		<guid isPermaLink="false">http://www.big-bug.net/?p=90</guid>
		<description><![CDATA[
Ecco una semplice e scarna guida su come killare processi su unix(Linux,MacOSX,BSD), che può essere utile per chi si è avvicinato da poco nel mondo e nei comandi UNIX.
Innanzitutto per conoscere la lista di tutti i processi attivi sul proprio sistema dobbiamo conoscere il comando: &#8216;ps aux&#8216;.
Eseguito stamperà una tabella con tutti i processi in [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Comandi unix" src="http://library.thinkquest.org/05aug/00669/en/history/software/unix.gif" alt="" width="145" height="152" /></p>
<p>Ecco una semplice e scarna guida su <strong>come killare processi su unix(Linux,MacOSX,BSD)</strong>, che può essere utile per chi si è avvicinato da poco nel mondo e nei <strong>comandi UNIX</strong>.<br />
Innanzitutto per conoscere la lista di tutti i processi attivi sul proprio sistema dobbiamo conoscere il comando: &#8216;<strong>ps aux</strong>&#8216;.</p>
<p>Eseguito stamperà una tabella con tutti i processi in esecuzione, ecco un esempio di output di ps aux:</p>
<p><code style="font-size: 8px;"><span id="more-90"></span><span id="__caret">_</span>macbook:~ dud$ ps aux<br />
USER       PID %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND<br />
dud     154   4.2  1,0   415188  10052   ??  S    10:00am   0:00.28 /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -psn_0_94231<br />
_windowserver    55   3.4  2,5   418312  26536   ??  Ss    9:59am   0:06.10 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/Resources/WindowServer -daemon<br />
_qtss      102   0.4  0,2  2711524   2332   ??  S     9:59am   0:00.20 /usr/sbin/QuickTimeStreamingServer<br />
dud     157   0.3  0,1    75964    940 s000  S    10:00am   0:00.01 -bash<br />
root        46   0.2  0,8    84540   8128   ??  Ss    9:59am   0:00.47 /System/Library/CoreServices/coreservicesd<br />
root       100   0.1  0,2   107500   2532   ??  S     9:59am   0:00.11 /Library/Application Support/Olivetti/Status Monitor/Olivetti Monitor<br />
dud     142   0.0  0,2   339392   2296   ??  S    10:00am   0:00.06 /Applications/iTunes.app/Contents/Resources/iTunesHelper.app/Contents/MacOS/iTunesHelper -psn_0_65552<br />
dud     133   0.0  1,0   411328  10352   ??  S     9:59am   0:00.85 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder -psn_0_49164<br />
dud     132   0.0  0,8   408668   8776   ??  S     9:59am   0:00.78 /System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer -psn_0_45067<br />
dud     131   0.0  0,1    76404    588   ??  S     9:59am   0:00.00 /usr/sbin/pboard<br />
root       130   0.0  0,2    77964   2528   ??  Ss    9:59am   0:00.14 /usr/sbin/coreaudiod<br />
dud     129   0.0  0,4   172220   4464   ??  S     9:59am   0:01.50 /System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/ATSServer<br />
dud     128   0.0  1,2   409220  12512   ??  S     9:59am   0:00.79 /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock -psn_0_32776<br />
dud     127   0.0  0,3   376208   3160   ??  S     9:59am   0:00.05 /Library/Application Support/Olivetti/Status Monitor/Olivetti Launcher.app/Contents/MacOS/Olivetti Launcher<br />
dud     126   0.0  0,3   342088   2788   ??  S     9:59am   0:00.25 /usr/sbin/UserEventAgent -l Aqua<br />
dud     125   0.0  0,4   357168   4104   ??  S     9:59am   0:00.16 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight<br />
dud     121   0.0  0,3   373828   3000   ??  S     9:59am   0:00.06 /System/Library/CoreServices/AirPort Base Station Agent.app/Contents/MacOS/AirPort Base Station Agent -launchd -allowquit<br />
_spotlight   118   0.0  0,2    90516   2320   ??  SNs   9:59am   0:00.15 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Versions/A/Support/mdworker MDSImporterWorker com.apple.Sp<br />
root       116   0.0  0,1    76664   1356   ??  Ss    9:59am   0:00.02 /usr/sbin/cupsd -l</code></p>
<p>Se volessimo killare ad esempio Firefox  poichè bloccato o semplicemente come prova (meglio provare con altri eseguibili), dovremmo dare un:<br />
ps aux | grep &#8216;firefox&#8217; per individuare il processo.<br />
<code style="font-size: 8px;"><br />
macbook:~ dud$ ps aux | grep 'firefox'<br />
dud     623   0.0  0,0    75964     68 s000  R+    9:51am   0:00.00 grep firefox<br />
dud     179   2.2  5,1   466916  53160   ??  S    10:02am   0:02.71 /Applications/Firefox.app/Contents/MacOS/firefox-bin -psn_0_114716<br />
</code><br />
Come vedete utilizzando grep &#8217;stringa&#8217;, verranno mostrati solamente i processi che matchano con &#8217;stringa&#8217; .<br />
Ecco adesso abbiamo individuato il <strong><a title="Maggiori informazioni sul PID (Unix)" href="http://it.wikipedia.org/wiki/PID_(Unix)">PID</a> </strong> di Firefox (179)[PID], il <strong>nome del binario/script </strong>(&#8216;firefox-bin) [COMMAND], quanta <strong>% di CPU</strong> sta utilizzando (2,2%)[%CPU],quanta <strong>% di memoria RAM</strong> (5,1%) [%MEM],l&#8217;ora di avvio del processo (10:02am ) [STARTED] ed  il tempo di esecuzione del processo, ossia da quanto è attivo il processo  (0:02.71)[TIME].</p>
<p><strong>Per killare un processo</strong> abbiamo due soluzioni:<br />
Killare tramite pid con:<br />
<strong> kill -9 PID</strong>, in questo caso kill -9 179:<br />
<code style="font-size: 8px;"><br />
macbook:~ dud$ kill -9 179<br />
macbook:~ dud$<br />
</code><br />
oppure killare tramite nome del processo con:<br />
<strong> killall NOMEPROCESSO</strong>, in questo caso killall firefox-bin:<br />
<code style="font-size: 8px;"><br />
macbook:~ dud$ killal firefox-bin<br />
macbook:~ dud$<br />
</code><br />
Una cosa importante da sapere è chi è che ha lanciato il processo, nel caso sopra l&#8217;utente &#8216;dud&#8217;, se l&#8217;utente fosse stato &#8216;root&#8217; e noi avessimo provato a killare il processo in uno dei due modi sopra elencati, avremmo riscontrato<br />
un errore del genere:<br />
<code style="font-size: 8px;"><br />
macbook:~ dud$ kill -9 130<br />
-bash: kill: (130) - Operation not permitted<br />
</code><br />
Ossia operazione non permessa,  poichè non avendo lanciato il processo da utente &#8216;root&#8217;, non abbiamo neanche i permessi per killarlo da utente &#8216;dud&#8217;.<br />
Tempo fa sul <a title="Forum programmazione" href="http://forum.big-bug.net">forum</a>, avevo scritto un piccolo <a title="Script per killare aMule" href="http://forum.big-bug.net/php-mysql/amule-2-1-3-killer-per-macosx-t2037.html">script per killare aMule</a> automaticamente in caso di consumo di cpu  &gt;= 90 ed avevo lanciato un idea per scrivere uno script o sorgente C.<br />
Un binario demonizzato che <strong>monitorasse tutti i processi del sistema</strong> ed in caso di consumo di cpu &gt;=N (90, per esempio), <strong>avesse killato </strong>il processo e salvato un file di log con la lista e l&#8217;ora di tutti i processi killati.<br />
Ovviamente il programma si potrebbe migliorare impostando un limite di cpu per ogni eseguibile, per esempio Firefox 100, aMule 90 e così via, poichè non tutti i programmi che consumano TOT cpu risultano bloccati o da killare.<br />
Io ho lanciato l&#8217;idea, se a qualcuno piace, potrebbe realizzare lo script e <strong>farci sapere qualcosa</strong>. <img src='http://www.big-bug.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Questo è tutto, ovviamente si accettano consigli su come migliorare questo piccolo howto non essendo molto esperto in materia. <img src='http://www.big-bug.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.big-bug.net/2009/come-killare-processi-sui-sistemi-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
