Как отправить SIGQUIT или SIGKILL в терминал VSCode - PullRequest
0 голосов
/ 09 апреля 2020

Есть ли способ настроить сочетание клавиш для терминала VSCode для отправки SIGQUIT запущенному процессу?

Отправка SIGINT ( Ctrl + C) кажется возможным (см. этот или этот вопрос), но это не помогает с процессами, которые конфигурируют обработчик SIGINT и не могут быть уничтожены с помощью SIGINT.

На машине Linux, с которой я sh -по умолчанию, я обычно могу использовать сочетание клавиш Ctrl + \ , чтобы отправить SIGQUIT в таком случае. Это не работает в терминале VSCode из коробки. Есть ли способ вручную настроить сопоставимое сочетание клавиш?


Некоторые связанные вопросы, не указанные в VSCode c:

1 Ответ

0 голосов
/ 09 апреля 2020

Я нашел то, что работает. Я добавил следующее к keybindings.json (перейдя в Файл => Настройки => Сочетания клавиш , а затем щелкнув маленькую кнопку переключения на json в правом верхнем углу):

// Place your key bindings in this file to override the defaultsauto[]
[
    // other bindings ...,
    {
        "key": "oem_4",
        "command": "workbench.action.terminal.sendSequence",
        "args": {
          "text": "\u001c"
        },
        "when": "terminalFocus"
    }
]

Примечания:

  • Клавиша oem_4 соответствует Ctrl + \ на моей клавиатуре, но это может быть связано с использовать немецкую раскладку клавиатуры. Самый простой способ установить его - это вернуться обратно к графическому сочетанию клавиш, выполнить поиск «sendSequence» и использовать обнаружение сочетаний клавиш для установки клавиши.
  • \u001c был счастливым предположением, вдохновленным документы и этой "таблицы" , но, похоже, SIGQUIT отправляется правильно.
  • Также полезно запустить stty -a на хосте, чтобы проверить, поддерживается ли последовательность терминалом.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...