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: 26.675 ]

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

Configuração de rede para RedHat e similares utilizando VI/Emacs/etc

As incríveis aventuras de um RedHat 9 migrando para kernel 2.6

Máquinas virtuais

Para não se perder no mundo da memória Flash

Leitura recomendada

Autofs no Slackware

Servidor de impressão Linux com clientes Windows 2000

Instalação do Nagios no Ubuntu Linux

PHP5 + Apache2 no Ubuntu 7.04, com suporte ao MySQL e SQL Server

Slax no pendrive - é viável e também útil

  
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
gurux@bsdmail.org

[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts