MANUAL PARAR EMU POR CONSOLA TERMINAL
Para parar un proceso en nuestros receptores linux via telnet, por ejemplo sobre todo una emu (que es para lo que mas lo vamos a utilizar), antes debemos saber unos conceptos, que ya son sabidos, pero sobre todo para el que empieza, que tenga los conceptos basicos de por que se realiza, asi que no sea todo meter estos comandos en script o en consola sin saber los motivos
Que comandos se utilizan y por que
[COLOR=#222222][FONT=Verdana]En sistemas linux se pueden mandar señales a procesos que esten en ejecucion(por ejemplo en nuestro receptor linux pues que este en funcionamiento una emu: ya sea cccam, sbox, etc....), para enviar estas señales pues en linux existe un comando que se llama [/FONT][/COLOR][COLOR=red][COLOR=red][FONT=Verdana]kill[/FONT][/COLOR][/COLOR][COLOR=#222222][FONT=Verdana].[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]Basandonos en esto pues tendriamos:[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][CODE]KILL--> Comando para enviar señales al pid del proceso en ejecucion.[/CODE][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][CODE]KILLALL-->Comando para enviar señales al nombre del proceso en ejecucion.[/CODE][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][B]como sabemos el nombre de la emu o pid de la emu que queremos para[/B]r[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]Una vez que ya sabemos el comando a utilizar pues debemos saber el nombre de la emu que queresmo parar o el pid del proceso de la emu.[/FONT][/COLOR]
[COLOR=royalblue][COLOR=royalblue][FONT=Verdana]Si queremos saber el pid del proceso y el nombre, tecleamos el siguiente comando en la consola telnet:[/FONT][/COLOR][/COLOR]
[COLOR=#222222]
[B]UTILIZAR COMANDO: ps[/B][/COLOR]
[COLOR=#222222][FONT=Verdana]Al utilizar este comando nos aparecen todos los procesos activos del receptor, asi como su nombre, pues como el que nos interesa es proceso de la emu que queremos parar, en este ejemplo SBOX, pues apuntariamos el proceso de esta emu que en este ejemplo es 2443, y el nombre seria sbox.sh40 como vemos en la imagen:[/FONT][/COLOR]
[ATTACH=CONFIG]2621[/ATTACH]
[COLOR=#222222][FONT=Verdana]Llegados a este punto ya sabemos que comando debemos utilizar para enviar una señal y a que se lo mandamos, pues ahora debemos saber que tipo de señal hay que enviar con el comando.[/FONT][/COLOR]
[FONT=Verdana][B]Que tipo señales debemos enviar[/B][/FONT]
[COLOR=#222222][FONT=Verdana]Pues para lo que nos interesa debemos saber que existen dos tipos de señales:[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][CODE]SIGTERM---> Su valor numerico seria 15, la mision de esta señal es parar el proceso, pero este tipo de señal puede ser interceptada por el proceso o el proceso realizar alguna funcion antes de terminarse.[/CODE][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][CODE]SIGKILL---> Su valor numerio seria 9, la mision de esta señal es parar el proceso, pero lo realiza inmediatamente y esta señal no puede ser interceptada por el proceso, por lo tanto es la mas utilizada para parar las emus de nuestros receptores.[/CODE][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]De esta manera pues si lo hemos comprendido ya sabemos:[/FONT][/COLOR]
[COLOR=lime][COLOR=lime][FONT=Verdana]- Que comando a utilizar
- El nombre de la emu o pid del proceso que queremos parar
- Que tipo de señal mandar[/FONT][/COLOR][/COLOR]
[COLOR=#222222][FONT=Verdana]Pues ya el siguiente paso seria enviarselo al receptor, y para ello en la consola telnet pondriamos lo siguiente, en este caso pongo varios ejemplos:[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][B]UTILIZAR COMANDO: kill 2443[/B][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]Parariamos el proceso con id 2443 (como vimos antes era el pid de sbox), con el envio señal como hemos visto anteriormente sigterm por defecto.[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][B]UTILIZAR COMANDO: kill -9 2443[/B][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]Parariamos el proceso con id 2443 (como vimos antes era el pid de sbox), con el envio señal -9 que como vimos era sigkill.[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][B]UTILIZAR COMANDO: killall sbox.sh40[/B][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]Parariamos todos los procesos con nombre sbox.sh40 con el envio como hemos visto anteriormente con sigterm por defecto.[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana][B]UTILIZAR COMANDO: killall -9 sbox.sh40[/B][/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]Parariamos todos los procesos con nombre sbox.sh40 con el envio señal -9 que como vimos era sigkill.[/FONT][/COLOR]
[COLOR=#222222][FONT=Verdana]Siendo este ultimo el recomendado, por que como utilizamos la señal sigkill nos aseguramos que la señal no puede ser interceptada ni la emu realiza ningun proceso antes de terminarse, asi como parariamos todos los procesos que lleven sbox.sh40, ya que si ponemos el numero del proceso solo parariamos ese proceso en concreto.[/FONT][/COLOR]
-------------------------------------------------------------------------------------------------------------------------
otra variante:
[LEFT][COLOR=#000000][FONT=Verdana]kill -9 $(pgrep -f oscam)[/FONT][/COLOR][/LEFT]
explicacion para entender la diferencia entre poner -f o ponerlo sin -f:
pgrep---> con -f
La busqueda se hace en base a pr_psargs
pgrep--> sin -f
La busqueda se hace en base a pr_fname
Esto que quiere decir asi a lo bruto:
-f ----> busqueda lineas de comandos
sin -f --->busqueda archivos ejecutables
Ejemplo practico para ver la diferencia:
a) Tengo ejecutado el binario de oscam
b) Tengo ejecutado un script al que he llamado oscam.sh
Si ejecuto:
pgrep oscam ----> solo me busca oscam ejecutable y me da los pids que kill mataria
si ejecuto:
pgrep -f oscam --> me busca todo lo que tenga oscam sea ejecutable binario o script o lo que sea
Una imagen vale mas que mil palabras:
[URL="http://imageshack.us/photo/my-images/820/peloa.png/"]
[/URL]
Como se ve tanto poniendo pgrep -f o sin -f, pasamos los pid a kill, y la diferencia es unicamente que poniendo -f la busqueda es mas completa....
Por eso en la opcion que puse le añadi -f ya que asi aseguramos que todo los que aparezca como oscam lo mate, sin poner -f pues se puede escapar alguna cosilla jejejejejejje
Aunque realmente sea igual poner -f o sin -f, si queremos parar solamente el ejecutable oscam
saludos