Envie o sinal SIGCONT para outro processo do usuário [closed]

-1

Eu vi um documento ( link ) que diz " O sinal SIGCONT é um caso especial e pode ser enviado se o remetente fizer parte da mesma sessão que o destinatário, independentemente dos IDs de usuário. "

Mas quando eu envio o SIGCONT para outro processo do usuário, ele retorna o erro (operação não permitida). Por quê?! O que devo fazer?

    
por Misam Saki 30.09.2014 / 14:34

2 respostas

1

"Este sinal é especial", pois sempre faz o processo continuar se for interrompido, antes de o sinal ser entregue. "SIGCONT" significa SignalContinue.

O comportamento padrão é não fazer mais nada. Você não pode bloquear este sinal. Você pode definir um manipulador, mas o SIGCONT sempre faz com que o processo continue independentemente.

A maioria dos programas tem nenhuma razão para lidar com SIGCONT ; eles simplesmente retomam a execução sem perceber que foram parados. Você pode usar um manipulador para SIGCONT para fazer um programa fazer algo especial quando ele é interrompido e continuado - por exemplo, para reimprimir um prompt quando ele é suspenso enquanto aguarda a entrada.

Se você quiser enviar o SIGCONT use um desses kill -SIGCONT #PID ou kill -18 #PID .

Basta substituir #PID pelo seu ID de processo.

execute ps aux no terminal e depois de obter o PID do processo, substitua seu número PID por #PID .

E mais uma vez eu digo: sempre faz o processo continuar se for interrompido . Se você quiser realmente testar SIGCONT , inicie um processo no terminal e pressione Ctrl + Z para pará-lo. então pegue seu número PID e envie SIGCONT para continuar o processo. E mais uma vez eu digo que a maioria dos programas tem nenhuma razão para lidar com SIGCONT .

referências:
link
link

    
por devWeek 30.09.2014 / 14:50
0

Sua pergunta tem resposta.

Sempre que você fizer login em qualquer Linux, você criará uma nova sessão de login e permanecerá até você sair da sessão.

Portanto, você não pode enviar o SIGCONT para outro processo do usuário logado porque ele tem suas sessões. Se for assim, podemos chamá-lo como hacking porque você está controlando o processo de outros usuários (a menos que você seja root).

Então, o que significa "O sinal SIGCONT é um caso especial. Ele pode ser enviado se o remetente fizer parte da mesma sessão que o receptor, independentemente dos IDs de usuário." significa?

Simples, no linux todo serviço tem seu nome de usuário e nome de grupo e todos estão em usuários na mesma sessão e você pode contatá-los independentemente do ID

espero que ajude.

Bottom-Line: Lógica simples, onde está a segurança se o seu controle é processado por outros usuários?

    
por rɑːdʒɑ 30.09.2014 / 14:42