<?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>/sbin/lsmod - Módulos para seu cérebro &#187; Posix</title>
	<atom:link href="http://www.lsmod.net/tag/posix/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lsmod.net</link>
	<description></description>
	<lastBuildDate>Mon, 16 Jan 2012 13:12:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>As diferentes formas de matar um programa</title>
		<link>http://www.lsmod.net/as-diferentes-formas-de-matar-um-programa/</link>
		<comments>http://www.lsmod.net/as-diferentes-formas-de-matar-um-programa/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 20:25:22 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Posix]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[sighup]]></category>
		<category><![CDATA[sigkill]]></category>
		<category><![CDATA[sigterm]]></category>
		<category><![CDATA[termination signal]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=481</guid>
		<description><![CDATA[Recentemente tive de explicar a um conhecido as diferenças entre matar um programa &#8220;graciosamente&#8221; e forçá-lo imediatamente a parar de funcionar. Pareceu uma guerra interminável. E é compreensível, uma vez que nem todos estão acostumados com a idéia de &#8220;pedir gentilmente&#8221; a um programa que se feche, ainda mais explicitando a forma como isso deve [...]]]></description>
			<content:encoded><![CDATA[<p>Recentemente tive de explicar a um conhecido as diferenças entre matar um programa &#8220;graciosamente&#8221; e forçá-lo imediatamente a parar de funcionar.</p>
<p>Pareceu uma guerra interminável. E é compreensível, uma vez que nem todos estão acostumados com a idéia de &#8220;pedir gentilmente&#8221; a um programa que se feche, ainda mais explicitando a forma como isso deve ser feito. Acredito que principalmente quem nunca desenvolveu algo na vida tem os maiores problemas aceitando esse conceito.</p>
<p>Imagine um (ou vários) processos do Postgres rodando. Você decide que ele é um gargalo no seu sistema, e você quer fechá-lo (crianças, não façam isso em casa&#8230;). Existe uma diferença <span style="color: #0000ff;">brutal</span> entre mandar um <strong>kill -9</strong> (sigkill) e um <strong>kill -3</strong> (sigquit).</p>
<p>Segue abaixo uma tabelinha de diferentes sinais, que eu chupinhei da <a href="http://en.wikipedia.org/wiki/Signal_%28computing%29">Wikipédia</a> e <a href="http://www.gnu.org/s/libc/manual/html_node/Termination-Signals.html">deste outro site</a>:<br />
<strong>
<table id="wp-table-reloaded-id-1-no-1" class="wp-table-reloaded wp-table-reloaded-id-1">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">Sinal</th><th class="column-2">Número correspondente</th><th class="column-3">Descrição</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">SIGTERM</td><td class="column-2">15</td><td class="column-3">SIGTERM é o sinal padrão, usado para terminar um programa. Usar o comando kill sem especificar o sinal numérico no Linux irá usar SIGTERM por default.</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">SIGINT</td><td class="column-2">2</td><td class="column-3">SIGINT corresponde, no mundo dos mortais, à famosa combinação de Control+C. A aplicação decide, então, o que fazer com o sinal INT que recebeu. Em muitos casos (shell scripts, por exemplo) a aplicação é quebrada imediatamente. Noutros, porém, o tratamento do INT pode ser diferenciado - a aplicação pode decidir fechar suas conexões, por exemplo, antes de ser interrompida.</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">SIGQUIT</td><td class="column-2">3</td><td class="column-3">O sinal QUIT é o padrão para fechar aplicações não-responsivas "gentilmente". Ele é mais poderoso que o TERM, que muitas vezes simplesmente é incapaz de matar um processo. Este, porém, permite que o programa emita um core dump de sua operação, tornando possível a detecção de eventuais problemas.</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">SIGKILL</td><td class="column-2">9</td><td class="column-3">KILL é, definitivamente, o mais bruto dos sinais. Ele mata o processo independentemente das suas operações atuais. Não irá esperar por retornos, fechamento de conexões, dump de dados ou qualquer outro output. SIGKILL é usado para matar aplicações completamente não-responsivas, e deve ser usado com cautela, pois pode, no exemplo do banco de dados acima, corromper tabelas, índices, etc.</td>
	</tr>
	<tr class="row-6 even">
		<td class="column-1">SIGHUP</td><td class="column-2">1</td><td class="column-3">HUP é usado para indicar desconexão de terminal, geralmente. Seja por uma queda na internet, ou telefonema, ou qualquer outro tipo de quebra de sinal. HUP é usado, por exemplo, numa sessão SSH com processos pendentes, quando de repente a conexão foi cortada.</td>
	</tr>
</tbody>
</table>
</strong></p>
<p>&nbsp;</p>
<p>A tabela com todos os sinais existentes e seus significados pode ser  encontrada no link para a Wikipedia, porém estes são os mais usados.</p>
<p>Todos devem ser usados de acordo com a situação, e devidamente tratados no código do programa. Dependendo da vontade do programador, pode-se interpretar os sinais para processar uma série de rotinas antes do término real da aplicação, e é importante respeitar o processo, sob pena de eventual perda de dados.<strong><br />
</strong></p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=481&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/as-diferentes-formas-de-matar-um-programa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Sysadmin&#8217;s Universal Translator (Rosetta Stone)</title>
		<link>http://www.lsmod.net/a-sysadmins-universal-translator-rosetta-stone/</link>
		<comments>http://www.lsmod.net/a-sysadmins-universal-translator-rosetta-stone/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 18:37:14 +0000</pubDate>
		<dc:creator>Jeremias Zerbini</dc:creator>
				<category><![CDATA[Posix]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rosetta]]></category>
		<category><![CDATA[stone]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.lsmod.net/?p=280</guid>
		<description><![CDATA[Clicando aqui e ali, encontrei algo que com certeza vai me ajudar muito ainda: O Rosetta Stone. O que é ? Uma tabela enorme de comparação de comandos entre diferentes sistemas POSIX. Você inclusive pode filtrar quais deseja ver. Se você, como eu, está super acostumado com Linux, Solaris e algum outro Unix, porém nunca [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Clicando aqui e ali, encontrei algo que com certeza vai me ajudar muito ainda: <a href="http://bhami.com/rosetta.html" target="_blank">O Rosetta Stone</a>.</p>
<p style="text-align: left;">O que é ? Uma tabela enorme de comparação de comandos entre diferentes sistemas POSIX. Você inclusive pode filtrar quais deseja ver.<span id="more-280"></span></p>
<p style="text-align: left;">Se você, como eu, está super acostumado com Linux, Solaris e algum outro Unix, porém nunca viu um IRIX ou SCO na frente, este site é perfeito.<br />
Olhem na screenshot um preview básico, com alguns diferentes UNIX selecionados por mim:</p>
<p style="text-align: center;"><a href="http://www.lsmod.net/wp-content/uploads/rosetta.PNG"><img class="size-thumbnail wp-image-281     aligncenter" title="Preview do  Rosetta Stone" src="http://www.lsmod.net/wp-content/uploads/rosetta-150x150.PNG" alt="Preview do Rosetta Stone" width="150" height="150" /></a></p>
<p style="text-align: left;">Fica aí a dica.</p>
<p style="text-align: left;">Abraços a todos.</p>
<img src="http://www.lsmod.net/?ak_action=api_record_view&id=280&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.lsmod.net/a-sysadmins-universal-translator-rosetta-stone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  www.lsmod.net/tag/posix/feed/ ) in 0.51094 seconds, on Feb 12th, 2012 at 1:49 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 12th, 2012 at 2:49 pm UTC -->
