In article <[email protected]>, Otavio Silva wrote:
Bom dia, Otavio. > (...) [D]escobri que poderia progamá-lo a fazer pequenas coisas > relacionando comandos com os SIGUSR1 e SIGUSR2. Não são comandos, na verdade; SIGUSR1 e SIGUSR2 são nomes representanto números que podem ser enviados à programas em execução. (Programas em execução são chamados de processos.) Esses números são chamados de sinais. ``UNIX signals.'' Para enviar um sinal a um processo, é necessário outro processo. Processos enviam sinais à processos. Isso é uma forma de comunicação. Por exemplo, se você deseja pedir a um processo para que ele termine sua execução, você pode enviar o sinal TERM. O programa chamado ``kill'' é o programa UNIX dedicado a enviar sinais à processos. Os processos são identificados por números; esses números são chamados de PID --- process id. %kill -TERM 31034 %[2]- Terminated sleep 60 Solicitamos a um certo processo (descrito aqui por ``sleep 60'') que terminasse sua execução. Ele atendeu. Ele poderia ter recusado. Essa última linha impressa é responsabilidade do shell; o processo em si não imprimiu nada. O fato do enviador de sinais se chamar kill é um acidente histórico; o nome ficou ruim porque ele não serve só para matar processos; ele serve para enviar quaisquer sinais à processos. Todo processo, quando recebe um sinal, sempre toma uma ação. A ação pode ser a ação de ignorar; mas o fato é que existe uma ação. A ação padrão do sinal USR1 é terminar o processo também. %kill -USR1 7039 %[2]- User defined signal 1 sleep 60 Essa última linha é responsabilidade do shell. O processo em si não imprimiu nada. Não conheço o programa que você está tentando utilizar, e também não sei o que você deseja; mas talvez a documentação dele faça sentido agora com essa breve introdução. (*) O nome dos outros sinais Existem muitos sinais. O programa kill pode listar os sinais que existem num sistema. %kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX % > Quando eu abro o terminal e executo x-terminal-emulator, abre o > terminal normal, sem problemas. Quando coloco o gksu antes aparece a > seguinte mensagem de erro: Failed to contact the GConf daemon; > exiting.ota...@machina:~$ Não conheço tais programas. A maioria dos sistemas que já vi traz um programa chamado su --- um curta para ``switch user.'' Executado sem qualquer argumento, ele pede a senha do root; entregando a senha, ele roda um shell root. (O su no sistema que utilizado está programado a não pedir senha. O programa id, exemplificado abaixo, indica a mudança de usuário.) %id -u 1000 %su %id -u 0 %exit %id -u 1000 Muitos sistemas trazem o sudo também. O sudo pode ser visto como uma generalização do su. Ele pode rodar um shell como o usuário desejado, root por exemplo, ou pode rodar qualquer programa. %sudo -u dbastos id -u 1000 %sudo -u root id -u 0 %sudo -u nobody id -u 65534 (O sudo neste sistema também está programado a não pedir senhas.) Sucesso. -- Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece Lista de discussão Ubuntu Brasil Histórico, descadastramento e outras opções: https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

