Envie o comando para o programa já iniciado?

0

Por exemplo: eu iniciei o VLC clicando duas vezes no arquivo de vídeo * .avi e o filme está em execução. É possível enviar algum comando (ex. Fullscreen ou pause ...) para a mesma instância do VLC do terminal (conhecendo o PID ...)?

Esta questão não é para algum uso prático, é apenas curiosidade.

    
por NonStandardModel 30.06.2017 / 19:07

2 respostas

1

Você pode usar esta resposta do StackOverflow como base para criar o próprio comando a ser enviado ao VLC. Além disso, verifique todo o Q / A. Ele usa d-bus para "controle remoto"

dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.vlc/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

O último PlayPause pode ser substituído por, por exemplo, Play , Pause , Previous , Next .

    
por Romeo Ninov 30.06.2017 / 19:36
3

Depende se esse programa em particular implementou tal comportamento ou não, o que será descrito em sua página man.

Não há uma maneira geral de fazer isso, no entanto, alguns programas definem um comportamento especial para sinais específicos que eles recebem. Por exemplo, se você enviar um sinal USR1 para o comando dd , ele imprimirá o status do progresso.

Às vezes, dependendo do programa e das informações que temos sobre ele, podemos alterar alguns de seus comportamentos, examinando seus arquivos ou dados na memória.

    
por Ravexina 30.06.2017 / 19:19