lunes, 3 de diciembre de 2012

Amosar os servizos activos [Twitcode XVIII][Bash]

Nas distros de Gnu/Linux soe haber un directorio no que se especifican os servizos a executar o inicio, /etc/init.d/ (coma no caso das derivadas de Debian) ou /etc/rc.d/ (coma, por exemplo, en Slackware), ademáis en distros coma Ubuntu e derivadas é posible utilizar eses scripts para xestionar o arranque e detección de servizos usando o comando `service`, este comando permite ademais listar os servizos e o seu estado, podendo por exemplo determinar cales están activos así:
service --status-all 2>/dev/null|grep '\[ + \]'


A idea é a seguinte, o seguinte comando lista todo-los servizos e o seu estado:
service --status-all

Pero ten a peculiaridade de que os servizos nun estado descoñecido amosanse por stderr, así que se queremos só quedarnos cos activos teremos que descartalos:
2>/dev/null

Co resto, podemos saber cales están activos por que comezan por '[ + ]':
|grep '\[ + \]'

Por exemplo:
$ service --status-all 2>/dev/null|grep '\[ + \]'
 [ + ]  apache2
 [ + ]  arpon
 [ + ]  bind9
 [ + ]  postgresql
 [ + ]  pulseaudio
 [ + ]  saslauthd
 [ + ]  spamassassin
 [ + ]  ssh
$

E iso é todo, está ben acostumarse a usar-lo comando `service` para iniciar e pechar os servizos, así evitamos ter que recordar sempre coma se controla, deste xeito so hai que facerlle `service "cal sexa" stop/start/restart`.

Saúdos

No hay comentarios:

Publicar un comentario