Ввести C-u
прежде также M-:
или M-!
вставить результат вместо отправленного в площадь рассеяния.
Для получения вещей непосредственно в кольцо уничтожения необходимо баловаться Elisp. Что-то вроде этого (непротестированное):
;;; kill ring version of M-!
(defun shell-command-to-kill-ring (command)
(interactive
(list
(read-shell-command "Shell command: " nil nil
(let ((filename
(cond
(buffer-file-name)
((eq major-mode 'dired-mode)
(dired-get-filename nil t)))))
(and filename (file-relative-name filename))))
current-prefix-arg
shell-command-default-error-buffer))
(kill-new (shell-command-to-string command)))
;;; kill-ring version of M-:
(defun eval-expression-to-kill-ring ()
(interactive)
(call-interactively 'eval-expression)
(kill-new (car values)))
Как насчет...?
pkill java
pkill(1)
(также killall(1)
на Linux), работает как kill(1)
, но отправляет сигнал во все процессы с указанным именем (именами), не PIDs. Существуют другие способы соответствовать процессам также — проверяют страницу справочника!
На самом деле конкретно потому что это - Java, о котором мы говорим, я сделал бы следующее для автоматизации вещей правильно:
pgrep java >/dev/null && (pkill java; sleep 5)
pgrep java >/dev/null && (pkill -9 java; sleep 5)
if pgrep java >/dev/null; then
echo "Whoops, java processes still running. Bailing out."
exit 1
fi
Это проверит, работают ли какие-либо процессы Java, отправьте, SIGTERM
предупредите и ожидайте 5 секунд. Если существует все еще выполнение процессов, оно отправляет SIGKILL
предупредите и ожидает еще 5 секунд. Если существует все еще выполнение процессов, оно прекращает выполнять сценарий, возвращая код выхода 1.
Обновление: измененный ответ на использование pgrep(1)
и pkill(1)
вместо pidof(1)
и killall(1)
.
Во-первых, запишите вывод ps -ef | grep java
к названному "имени файла" файла затем создают файл Python:
import os
f = open('filename',r')`
for i in f:
a = i.split()
b= "kill "
b=b+str(a[1])
os.system(b)
Выполните его с python pythonfilename.py
и Ваши программы Java будут завершены.
ps -C java
вместо того, чтобы захватить вывод ps
, но это решение является так чрезмерно сложным...
– user unknown
25.01.2012, 12:28
killall
на Linux является особенным.killall
на многих других Нельдах отправляет сигнал во все процессы, не все процессы, соответствующие конкретному шаблону. – Alexios 24.01.2012, 22:16pkill
должен сделать задание также - и propably безопасен на любом Unix, что спорт, который управляет (даже OpenBSD делает). – Nils 24.01.2012, 23:39pkill(1)
также доступно на Солярисе, таким образом, это - очевидно, лучший способ сделать это. – Alexios 25.01.2012, 00:53pkill
. Это должно сделать это совместимым с большинством Нельдов. – Alexios 25.01.2012, 00:58