Отправка сигналов SIGSTOP или SIGCONT графически (аналогично xkill)

Да, это возможно. У меня есть следующая настройка, которая работает, но могут быть и более простые.

В файле ~/.ssh/config добавьте следующие строки:

ControlMaster auto
ControlPath   /home/yourusername/.ssh/tmp/%h_%p_%r
Host A
  HostName hostname.of.server.a

Host B
  ProxyCommand ssh -e none A netcat -w 5 hostname.of.server.b 22

Вы должны заменить yourusername, hostname.of.sever.a и hostname.of.server.b После этого вы можете (в Nautilus) перейти в Places-> Connect to Server (на самом деле File-> Connect to Server на моей машине). Затем введите B. Это должно быть все, чтобы увидеть сервер B.

1
задан 23 April 2018 в 21:56

3 ответа

Вы можете использовать xdotool, чтобы пользователь мог щелкнуть окно и получить его идентификатор процесса. Затем вы можете использовать kill для отправки, например. STOP или CONT сигналы к этому процессу и замораживают / оттаивают его таким образом.

Во-первых, вам, вероятно, придется установить xdotool, поскольку он не устанавливается заранее:

sudo apt install xdotool
2] Затем команда для получения PID процесса, владеющего определенным окном, которое может быть выбрано щелчком мышью, будет:

xdotool selectwindow getwindowpid

Это печатает числовой идентификатор процесса. Вы можете использовать его в качестве аргумента для kill -STOP или kill -CONT для приостановки и продолжения указанного процесса. Это можно упростить, сохранив PID в переменной, как в этом маленьком скрипте ниже, который приостанавливает процесс щелкнутого окна в течение 5 секунд:

#!/bin/bash
wpid="$(xdotool selectwindow getwindowpid)"
kill -STOP "$wpid"
sleep 5
kill -CONT "$wpid"

Теперь вы можете сохранить этот сценарий на своем компьютере и, например, привяжите его к сочетанию клавиш.

Примечание: man xdotool говорит о подкоманде getwindowpid: «Это требует усилий от приложения, владеющего окном, и может не работать для всех окон». Другими словами, он может не работать вообще или, по крайней мере, не так, как предполагалось, с некоторыми приложениями. Также может случиться так, что несколько окон имеют одинаковый идентификатор процесса, например, например. все экземпляры gnome-terminal принадлежат одному и тому же родителю. В этом случае команда заблокирует все из них, что может и не быть задумано.
1
ответ дан 22 May 2018 в 11:17
  • 1
    Просто протестирован, он отлично работает, спасибо! – Kubuntuer82 23 April 2018 в 23:45

Вы можете использовать xdotool, чтобы пользователь мог щелкнуть окно и получить его идентификатор процесса. Затем вы можете использовать kill для отправки, например. STOP или CONT сигналы к этому процессу и замораживают / оттаивают его таким образом.

Во-первых, вам, вероятно, придется установить xdotool, поскольку он не устанавливается заранее:

sudo apt install xdotool

Затем команда для получения PID процесса, владеющего определенным окном, которое может быть выбрано щелчком мышью, будет:

xdotool selectwindow getwindowpid

Это печатает числовой идентификатор процесса. Вы можете использовать его в качестве аргумента для kill -STOP или kill -CONT для приостановки и продолжения указанного процесса. Это можно упростить, сохранив PID в переменной, как в этом маленьком скрипте ниже, который приостанавливает процесс щелкнутого окна в течение 5 секунд:

#!/bin/bash wpid="$(xdotool selectwindow getwindowpid)" kill -STOP "$wpid" sleep 5 kill -CONT "$wpid"

Теперь вы можете сохранить этот сценарий на своем компьютере и, например, привяжите его к сочетанию клавиш.

Примечание: man xdotool говорит о подкоманде getwindowpid: «Это требует усилий от приложения, владеющего окном, и может не работать для всех окон». Другими словами, он может не работать вообще или, по крайней мере, не так, как предполагалось, с некоторыми приложениями. Также может случиться так, что несколько окон имеют одинаковый идентификатор процесса, например, например. все экземпляры gnome-terminal принадлежат одному и тому же родителю. В этом случае команда заблокирует все из них, что может и не быть задумано.
1
ответ дан 17 July 2018 в 16:18

Вы можете использовать xdotool, чтобы пользователь мог щелкнуть окно и получить его идентификатор процесса. Затем вы можете использовать kill для отправки, например. STOP или CONT сигналы к этому процессу и замораживают / оттаивают его таким образом.

Во-первых, вам, вероятно, придется установить xdotool, поскольку он не устанавливается заранее:

sudo apt install xdotool

Затем команда для получения PID процесса, владеющего определенным окном, которое может быть выбрано щелчком мышью, будет:

xdotool selectwindow getwindowpid

Это печатает числовой идентификатор процесса. Вы можете использовать его в качестве аргумента для kill -STOP или kill -CONT для приостановки и продолжения указанного процесса. Это можно упростить, сохранив PID в переменной, как в этом маленьком скрипте ниже, который приостанавливает процесс щелкнутого окна в течение 5 секунд:

#!/bin/bash wpid="$(xdotool selectwindow getwindowpid)" kill -STOP "$wpid" sleep 5 kill -CONT "$wpid"

Теперь вы можете сохранить этот сценарий на своем компьютере и, например, привяжите его к сочетанию клавиш.

Примечание: man xdotool говорит о подкоманде getwindowpid: «Это требует усилий от приложения, владеющего окном, и может не работать для всех окон». Другими словами, он может не работать вообще или, по крайней мере, не так, как предполагалось, с некоторыми приложениями. Также может случиться так, что несколько окон имеют одинаковый идентификатор процесса, например, например. все экземпляры gnome-terminal принадлежат одному и тому же родителю. В этом случае команда заблокирует все из них, что может и не быть задумано.
1
ответ дан 23 July 2018 в 17:12

Другие вопросы по тегам:

Похожие вопросы: