Действительно, это - на самом деле самая большая функция когда-либо. Существует больше хотя:
Создайте названный файл
.editrc
содержа строку
bind -v
Editline, библиотека лицензионной версии BSD, которая предоставляет подобные readline услуги. Это .editrc установит Ваши привязки клавиш на vi режим в оболочке командной строки MySQL или любое приложение, которое не использует readline.
Я стал несколько забывчивым с передачей лет, таким образом, мои .zshrc источники некоторые обертки для vi режима, чтобы показать мне, в каком режиме я нахожусь на командной строке. Это хорошо.
Я знаю в zsh, который можно ввести
bindkey -L
и получите список привязок клавиш. Я уверен, что удар должен иметь что-то подобное. Не все vi ключи связываются по умолчанию. Свяжите их, как Вы считаете целесообразным, и Вы прочь к гонкам.
Короткий ответ: screen
.
Немного более длинный ответ то, что -m
флаг к fuser
говорит этому перечислять все с помощью точки монтирования. В зависимости от Вашей установки, которая, вероятно, означает весь из /dev
, но это могло также быть /
. Очевидно не, что Вы предназначили. Вы получите очень длинный список, если Вы сделаете fuser -vm /dev/ttyS0
, более чем 60 строк в моей системе.
Взлетите -m
и это, вероятно, даст Вам тот же ответ как lsof
сделал.
То, когда я пытался выполнить gammu-smsd как демон, мой системный журнал (который демон пишет в), указало, что/dev/ttyS0 порт был в настоящее время открыт и используем.
Таким образом, для выяснения то, что использовало его, я первоначально работал
fuser -m -u /dev/ttyS0
Однако это, которое переключатель-m дал обманчивому ответу, потому что, поскольку @derobert сказал это, перечисляет все с помощью точки монтирования.
Это была команда lsof правильно сообщаемый процесс с помощью указанного порта:
sudo lsof | grep ttyS0
screen 23520 root 6u CHR 4,64 0t0 1421 /dev/ttyS0
Теперь я пытался удалить экранную сессию гну очевидный способ:
screen -ls
There is a screen on:
23520.pts-6.porkypig (09/30/2013 02:49:47 PM) (Detached)
1 Socket in /var/run/screen/S-root.
screen -S 21200.pts-1.porkypig -X quit
В то время как тот выход сессия, процесс был все еще жив:
$ cd /proc/23520
$ head -n 1 status
screen
и:
$ ps aux | grep 23520
zsh: correct 'aux' to 'auxv' [nyae]? n
root 5111 0.0 0.0 4348 784 pts/7 S+ 16:20 0:00 strace -p 23520
1001 5574 0.0 0.0 7636 920 pts/4 S+ 17:51 0:00 grep 23520
root 23520 0.0 0.0 25604 1532 ? Ss Sep30 0:00 SCREEN /dev/ttyS0 115200
Таким образом, я уничтожил сам процесс:
# kill 23520
# ps aux | grep 23520
root 5665 0.0 0.0 7636 916 pts/4 S+ 17:54 0:00 grep 23520
И наконец завершенный процесс.
Теперь я запустил gammu:
sudo /etc/init.d/gammu-smsd start
И это хорошо работает:
$ ps aux | grep gammu-smsd
gammu 6042 0.0 0.0 87776 2652 ? Ss 18:12 0:00 /usr/bin/gammu-smsd --daemon --user gammu --pid /var/run/gammu-smsd.pid
1001 6069 0.0 0.0 7636 912 pts/4 R+ 18:13 0:00 grep gammu-smsd