Utilizando os scripts SystemV a seu favor

A inicialização estilo SystemV tem uma flexibilidade incrível, mas muitos não sabem aproveitá-la. Neste artigo, vou mostrar como pode ser fácil criar um script de inicialização SystemV.

[ Hits: 24.321 ]

Por: Cesar Cardoso em 23/04/2003


O script de modem



O fonte do /etc/init.d/modem é:

#!/bin/sh
#
# modem           This script runs the PCTel modem (disabling sound, \
#                 if it was loaded).
#
# chkconfig: 2345 99 99
# description: This shell script runs the PCTel driver, disabling sound \
#              driver if needed.
#

case "$1" in
  start)
   # Unloading the sound driver
   if [ -e /var/lock/subsys/som ]; then
      /etc/init.d/som stop
   fi
   echo -n "Loading modem driver: "
   /sbin/insmod -f pctel > /dev/null
   /sbin/insmod -f ptserial country_code=33 > /dev/null
   touch /var/lock/subsys/modem
   echo
   ;;
  stop)
   if ! [ -e /var/lock/subsys/modem ]; then
      exit 1
   fi
   echo -n "Unloading modem driver: "
   /sbin/rmmod ptserial
   /sbin/rmmod pctel
   rm -f /var/lock/subsys/modem
   ;;
  *)
   echo "Usage: modem {start|stop}"
   exit 1
esac

exit 0
Os comentários são utilizados pelo chkconfig/ntsysv do RedHat 8. Vamos a eles:
  • A primeira linha declara o nome do serviço e uma breve descrição dele para o ntsysv.

  • A segunda linha diz que o script vai iniciar nos runlevels 2,3,4 e 5 na posição 99 (bem no final) e vai encerrar na posição 99 (bem no início do shutdown). Com isso, basta:

    # chkconfig --add modem

    para o script ser adicionado ao sistema SysV

  • A terceira linha é mais uma longa descrição para o ntsysv.
No script propriamente dito, temos três seções. Uma start, uma stop e uma de erro (*). O script em si é fácil de entender; start carrega o módulo do modem, descarregando o módulo do som se necessário; stop descarrega o módulo do modem; o erro mostra uma brevíssima ajuda ao usuário.

O start cria um arquivo lock em /var/lock/subsys, com ele, podemos determinar o que está rodando na máquina em um determinado momento.

Página anterior     Próxima página

Páginas do artigo
   1. A diferença SystemV
   2. O script de modem
   3. O script de som
   4. Toques finais
Outros artigos deste autor

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

Rumo a um pinguim móvel

DHCP sem (quase :-D) mistérios

Linux, USB-IrDA, T300 on the rocks

Fazendo o kernel 2.6 resolver o problema da montagem de discos USB

Leitura recomendada

Configurando conexão ADSL com Linux

Configuração de rede no AIX IBM

Configuração da placa wireless LinkSys WUSB54G com drivers de Linux

Drivers de impressão para clientes com Windows 7/XP

Configurando o Modem HSP56 Micromodem no Linux

  
Comentários
[1] Comentário enviado por gurux em 24/04/2003 - 09:26h

Não sei quanto a vc, mas o sistema bsd de inicializacao tb eh configuravel facilmente quanto ao run level, bastanto apenas editar o arquivo /etc/inittab e /etc/rc.d/rc.M
Basta criar um script como este e adicionar nestes arquivos como o /etc/rc.d/rc.http, em distribuicoes baseadas no slackware.
Alem de ser mais rapido e mais facil de usar.
Faltou vc comentar do chkconfig para a instalacao dos scripts
By maino
[email protected]

[2] Comentário enviado por cesarcardoso em 24/04/2003 - 12:56h

Hum, então o Slack não usa a inicialização BSD pura :) 6 meses trabalhando em um BSD de verdade, sem runlevel e tal, dá nisso :))

Anyway, chkconfig só nos interessa na hora de adicionar o serviço, como aliás deve estar no texto.


Contribuir com comentário