Size: a a a

Emacs — русскоговорящее сообщество

2021 September 26

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
но celery внутри контейнера не убивается
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
(defun kill-compilation ()
 "Kill the process made by the \\[compile] or \\[grep] commands."
 (interactive)
 (let ((buffer (compilation-find-buffer)))
   (if (get-buffer-process buffer)
       (interrupt-process (get-buffer-process buffer))
     (error "The %s process is not running" (downcase mode-name)))))
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
interrupt-process
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
This function interrupts the process process by sending the signal SIGINT. Outside of Emacs, typing the interrupt character (normally C-c on some systems, and DEL on others) sends this signal. When the argument current-group is non-nil, you can think of this function as typing C-c on the terminal by which Emacs talks to the subprocess.
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
я вручную запускаю docker exec -it $(docker ps -aqf "name=tnt_python") /bin/bash -c  "rm -rf ./celerybeat-schedule_1;celery -A project worker -B -s ./celerybeat-schedule_1"
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
потом делаю C-c и процессы отлипают
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
т.е передаю в терминале sigint процессу
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
и всё работает
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
на SIGQUIT тоже реагирует(С-\ в терминале)
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
ну что, послал
(defun my-kill-compilation ()
   "Kill the process made by the \\[compile] or \\[grep] commands."
   (interactive)
   (let ((buffer (compilation-find-buffer)))
     (if (get-buffer-process buffer)
   ;; (stop-process (get-buffer-process buffer))
       (signal-process (get-buffer-process buffer) 2)
       (error "The %s process is not running" (downcase mode-name)))))
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
(signal-process (get-buffer-process buffer) 2)
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
signal_number  sig Value
2                             SIGINT
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
и выполнил
(my-kill-compilation)
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
Compilation exited abnormally with code 1 at Sun Sep 26 03:33:56
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
но процесс не остановлен
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
*процессы celery в контейнере
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
(format "st -e docker exec -it $(docker ps -aqf \"name=%s\") /bin/bash -c  \"%s\"" container_name cmd))
а если в st запустил, потом C-c нажал - st пропала и процессы celery завершились
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
это херня какая-то, товарищи!!11!!
источник

PS

Petrov Sergey in Emacs — русскоговорящее сообщество
я думаю, что в interrupt-process надо какой-то слип поставить
источник