shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Como executar LOGOUT assim que o script fechar?


From: Flavio Junior
Subject: Re: [shell-script] Como executar LOGOUT assim que o script fechar?
Date: Mon, 19 Nov 2007 16:44:53 -0200

Bom..

Eu vou responder no contexto da lista (shell script), mas NAO
RECOMENDO essa utilização..
Com certeza a solução dos amigos ai é melhor, eu so não a passei
sozinha pra não fugir do escopo do shell script..

Uma solução seria voce fazer:

[root@muttley ~]# cat log.sh
#!/bin/bash
trap "fuser -ku $(tty)" 2
tail -f /var/log/squid/access.log


"log.sh" seria o seu script..
Antes de iniciar o tail -f tu cria um trap no signal 2 (o signal do
ctrl+c) dizendo que qdo o sistema detectar o signal 2 (CTRL+C), deve
executar o comando "fuser -ku $(tty)"... Isso vai matar todo os
processos que estiverem usando a shell desse login, ou seja, tudo que
foi aberto desde o login do usuario (provavelmente so o tail).

Mas firmo a opinião, colocar o script no shell do usuario é uma
solução mto mais elegante e segura... Um .bash_profile pode ser
facilmente burlavel por logins que não venham de login shell (shopt
login_shell)...


Flávio do Carmo Júnior

On Nov 19, 2007 4:29 PM, Arthur Renato Mello <address@hidden> wrote:
>
>
>
>
>
>
> Acredito que se voce colocar o script no lugar do shell do usuario no
>  arquivo passwd deve funcionar.
>  Com isso quando o usuario loga o script inicia a execucao e quando o
>  script morre o usuario eh deslogado.
>  Mas eh apenas um chute e nao posso testar agora :)
>
>  []s
>  Arthur
>
>
>  On Nov 19, 2007 4:15 PM, bossonaroesao06 <address@hidden>
> wrote:
>  >
>  >
>  >
>  >
>  >
>  >
>  > Boa tarde...
>  > Pessoal, to com uma dúvida... Eu criei um usuário no linux que serve
>  > somente para monitorar o squid através do seguinte script:
>  >
>  > ***********************************************
>  > #!/bin/bash
>  > tail -f /var/log/squid/access.log
>  >
>  > ***********************************************
>  >
>  > Coloquei isso no .bash_profile então quando esse usuário se loga, o
>  > script já começa a rodar automaticamente.
>  >
>  > Eu gostaria de saber como forçar o usuário a desconectar quando ele
>  > fechar o script usando CRTL+C.
>  > Ou seja, ele usa CRTL+C para terminar o script e automaticamente
>  > recebe um LOGOUT impedindo que ele faça qualquer outra coisa no
>  > sistema além de ver esse monitoramento pelo script.
>  >
>  > Tem como fazer isso?
>  > Obrigado
>  >
>  >
>  


reply via email to

[Prev in Thread] Current Thread [Next in Thread]