Вы можете попробовать использовать изображение докеры ubuntu 16:04 с установленным pdftk для запуска pdftk:
1.Установить докер:
sudo apt install docker.io
2.Pull ubuntu 16.04 и запустите оболочку bash:
sudo docker run -it ubuntu:16.04 bash
3.Update и установите pdftk из приглашения контейнера:
apt update
apt install pdftk
4. На новом прогоне терминала:
sudo docker ps -a
5. Соедините изображение с помощью CONTAINER ID ubuntu: 16.04 для нового изображения с установленным pdftk:
sudo docker commit 7cc10568226c ubuntu_pdftk # replace 7cc10568226c with CONTAINER ID
4.Создайте файл с именем «pdftk» в / usr / bin, а затем сделать его исполняемым (chmod + r / usr / bin / pdftk):
#!/bin/bash
PARAM="$@"
sudo docker run --name pdftk -it -v $PWD:/workdir$PWD -w /workdir$PWD ubuntu_pdftk bash -c "pdftk $PARAM && exit" && sudo docker rm pdftk
5.Call pdftk из вашего скрипта с параметрами, заключенными в "":
pdftk "file*.pdf output allfiles.pdf"
obs : для скриптов crontab вам нужно быть root и удалить 'sudo' из команд docker
Используйте sudo kill <pid> или sudo killall <process-name>
Попробуем что-то еще:
sudo apt-get install htop
Команда top является традиционным способом просмотра использования ресурсов вашей системы и просмотра процессов, которые занимают большинство системных ресурсов. В верхней части отображается список процессов, в которых используются самые популярные процессоры.
htop отображает ту же информацию с более понятным макетом. Он также позволяет вам выбирать процессы с помощью клавиш со стрелками и выполнять действия, например, убивать их или изменять их приоритет с помощью клавиш F.
Вы можете использовать
ps -ax | grep application name
Если ваш поиск типа firefox в терминале типа ps -ax | grep firefox, он показывает идентификатор процесса соответствующего приложения. Вы можете остановить это приложение командой kill, если идентификатор процесса = 1317,
kill -9 1317
Я бы использовал xkill. Введите xkill в терминал и щелкните в окне или введите xkill и идентификатор процесса, и он будет завершен.
Узнайте больше о xkill на x.org.
Чтобы попытаться уничтожить все процессы, принадлежащие пользователю username, запустите:
pkill -U username
Я бы разбил вашу проблему на две части:
1) Как мне найти процессы, начатые мной? Запустите это:
ps -u `whoami`
whoami на всякий случай, если вы не знаете имя используемой учетной записи, иначе просто введите имя учетной записи без обратных котировок.
Здесь перечислены все процессы, которые могут быть удалены вашей учетной записью.
2) Команда ps отобразит номер процесса, TTY, время и CMD. Идентификатор процесса - это первый столбец. Используйте этот номер, чтобы убить процесс. Будьте осторожны, убивая процесс. Вы можете сломать что-то, если вы убьете неправильный процесс. Чтобы убить процесс, вы будете использовать команду kill, которая отправляет SIGNAL в этот процесс. Сигнал указывает, что должен делать этот процесс. Например, при отправке -1 в процесс будет предложено перезагрузить файл конфигурации; отправка -2 эквивалентна нажатию кнопки Control + C на этом процессе; -9 заставит ядро отказаться от процесса, не передавая его процессу.
Предположим, что ps -u whoami возвратил что-то вроде
PID TTY TIME CMD
4333 pts/1 00:00:00 fish
4335 ? 00:00:00 fishd
4816 ? 00:00:00 intellij
4868 ? 00:50:42 java
4939 ? 00:00:19 fsnotifier64
7667 ? 02:49:08 firefox
7698 ? 00:00:00 unity-webapps-s
И вы хотели убить процесс firefox своим идентификатором процесса, тогда вы должны сделать: [ ! d7]
kill -1 7667
Затем вы повторно запустите ту же ps команду и проверьте, продолжался ли процесс. Если он все еще запущен, выполните
kill -2 7667
, работая до -9.
Чтобы убить все процессы, запущенные вашей учетной записью, введите kill <level> -1. То же, что и раньше: проведите свой путь до -9.
Если вы знаете имя процесса, вы можете просто пойти killall <processname>, где это то, что вы пытаетесь убить. Например: killall fish (рыба, в этом смысле, это Friendly Interactive Shell).
Документацию для killall можно найти здесь: http://manpages.ubuntu.com/manpages/hardy /man1/killall.1.html
... Все процессы в Linux реагируют на сигналы. Сигналы представляют собой os-level способ сообщать программам о прекращении или изменении их поведения.
Как отправлять процессы Сигналы по PID
Самый распространенный способ передачи сигналов программе команда kill.
Как и следовало ожидать, функциональность по умолчанию этой утилиты заключается в попытке убить процесс:
kill PID_of_target_process
Это отправляет сигнал TERM процессу. Сигнал TERM сообщает о завершении процесса. Это позволяет программе выполнить операции очистки и выйти плавно.
Если программа ошибочна и не выходит, когда задан сигнал TERM, мы можем усилить сигнал, передав сигнал KILL: [!d5 ]
kill -KILL PID_of_target_process
Это специальный сигнал, который не отправляется в программу.
Вместо этого он предоставляется ядру операционной системы, которое завершает процесс. Это используется для обхода программ, которые игнорируют переданные им сигналы ...
Я написал небольшой скрипт, который я написал, чтобы убить (в моем случае). Skype:
kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`
Но я обнаружил, что столько же, сколько и тогда, это не сработало на следующий день, потому что pid был другой длины, и там для количества пробелов было другое
Затем я наткнулся на этот сайт и попытался
pgrep -l -u justin
, который удобно выводит процессы в формате
[pid] [name]
Итак, я скорректировал свой код в скрипте на это:
kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`
Что это делает, так это все запущенные процессы justin (которые могут быть изменены на любое имя пользователя ) до grep, который ищет skype (это может быть изменено на ваш процесс), а затем передает эту строку на cut, которая затем считывает только PID и, наконец, использует этот PID в команде kill, чтобы убить его.
С помощью этого приложения вы можете просмотреть списки программ
install htop
sudo apt-get install htop
для просмотра процесса и процесса уничтожения. Вы можете установить его и просто удалить
Я использовал следующую процедуру, чтобы убить процесс в Ubuntu ::
. Шаг 1: Получить pid процесса с помощью grep или вы можете использовать -C также ::
ps aux | -C 'filename'
или
ps -ef | -C 'filename'
или
ps aux | grep 'filename'
или
ps -ef | grep 'filename'
Шаг 2: Обратите внимание на номер pid.
[d6 ] Шаг 3: Используйте команду «убить» вместе с номером pid как:kill pidnumber
Ctrl + Alt + Delete может быть настроен так, чтобы дать вам доступ к диспетчеру задач, из которого легко убить процессы с помощью нескольких кликов, а для меня меньше требований для запоминания команд, которые могут быть повреждены, если все сделано неправильно: [ ! d0]
http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt-del-task-manager-ubuntu/
Вот простой скрипт python, который я написал, killProcess.py, который примет что-либо как ввод и убьет его.
Я написал этот скрипт, потому что у меня много процессов на python или node, которые я хочу убивать индивидуально и программно. Я не могу использовать «killall python», потому что он остановит процессы, которые мне нужно продолжать.
Назовите файл «killProcess.py», а затем добавьте имя сценария, который хотите остановить. Например: python killProcess.py runnablePoller.py убьет файл runnablePoller.py
import os;
import sys;
for arg in sys.argv:
if(arg!="killProcess.py"):
process=arg;
print(process);
processes =os.popen("ps -ef | grep "+process).read();
processes=processes.split("\n");
processes=processes[0].split(" ");
#print(processes);
for p in processes:
try:
pid=int(p);
print(pid);
break;
except:
continue;
os.system("kill "+str(pid));
Делает ctrl + C, который убивает любую команду, например cat. Надеюсь, это вам помогло:)