Существует xkb-переключатель, который описан таким образом:
xkb-переключатель является программой C++, которая позволяет запрашивать и изменять состояние макета XKB.
https://github.com/ierton/xkb-switch
Или, предложение следующего nozimica, Вы могли использовать:
setxkbmap -print | awk -F"+" '/xkb_symbols/ {print $2}'
От этого потока на Дуге платы Linux: https://bbs.archlinux.org/viewtopic.php? pid=539406
Выполненный pgrep -f "ssh.*-D"
и посмотрите, возвращает ли это корректный идентификатор процесса. Если это делает, просто изменяется pgrep
кому: pkill
и сохраните те же опции и шаблон
Кроме того, Вы не должны использовать kill -9
иначе SIGKILL, если абсолютно необходимый, потому что программы не могут захватить SIGKILL для чистки после себя, прежде чем они выйдут. Я только использую kill -9
после первой попытки -1
-2
и -3
.
Можно усилить proc файловую систему для сбора информации. Например:
for proc in $(grep -irl "ssh.*-D" /proc/*/cmdline | grep -v "self"); do if [ -f $proc ]; then cat $proc && echo ""; fi; done
Это не прекрасно, Вы захотите более эксклюзивный regex (особенно, если Вы уничтожите процессы), но echo $proc | awk -F'/' '{ print $3 }'
покажет Вам PID процесса (процессов).
/proc
. И уже существует устойчивый инструмент, чтобы сделать это там, названный pgrep
(доступный исходно, по крайней мере, на Солярисе и Linux).
– Gilles 'SO- stop being evil'
12.01.2011, 23:20
for
цикл, который делаетkill -i
для каждогоi
;) – Seamus 12.01.2011, 16:29pgrep
не является собственным на OSX, необходимо получить его от третьего лица. Предыдущее сообщение по теме имеет предложения и альтернативы. – Gilles 'SO- stop being evil' 12.01.2011, 23:21