Обнаружение, загружается ли сервер

Ввести 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)))
3
25.01.2012, 01:25
3 ответа

Как насчет...?

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).

5
27.01.2020, 21:09
  • 1
    ! killall на Linux является особенным. killall на многих других Нельдах отправляет сигнал во все процессы, не все процессы, соответствующие конкретному шаблону. –  Alexios 24.01.2012, 22:16
  • 2
    Это - CentOS, о котором мы говорим здесь. Но любой путь pkill должен сделать задание также - и propably безопасен на любом Unix, что спорт, который управляет (даже OpenBSD делает). –  Nils 24.01.2012, 23:39
  • 3
    Действительно! (Я точно так же, как, чтобы избежать рискованных действий и упомянуть это для других людей, читающих ответ, люди, которые не могли бы знать это). И сегодня я изучил что-то новое.:) pkill(1) также доступно на Солярисе, таким образом, это - очевидно, лучший способ сделать это. –  Alexios 25.01.2012, 00:53
  • 4
    На самом деле я думаю, что изменю свой ответ на использование pkill. Это должно сделать это совместимым с большинством Нельдов. –  Alexios 25.01.2012, 00:58
  • 5
    php-----("pkill Java"); эта строка, не работающая. я dono wat могу быть проблемой. Может u помогать мне. спасибо –   30.05.2012, 10:22

Это должно быть очень просто с pkill:

pkill java
6
27.01.2020, 21:09

Во-первых, запишите вывод 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 будут завершены.

0
27.01.2020, 21:09
  • 1
    Можно просто использовать ps -C java вместо того, чтобы захватить вывод ps, но это решение является так чрезмерно сложным... –  user unknown 25.01.2012, 12:28
  • 2
    @user: Я просто выполнил его процедуру. извините, я обычно делаю этот Python использования.I не знал о pkill –  harish.venkat 25.01.2012, 16:07

Теги

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