[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
> >
> >
>