Щоб вбити процес, що працює на машині, деякий локальний процес (або ядро) повинен випромінювати сигнал вбивства. Отже, вам потрібен спосіб викликати процес, який випромінює цей сигнал, і оскільки ви не можете створити новий процес, вам потрібно знайти спосіб, який покладається виключно на вже запущені процеси.
Немає стандартного демона, який би там міг вам допомогти. Усі вони оброблять вашу автентифікацію, а потім розщеплюють новий процес (наприклад, оболонку), що працює як ви. Тож якщо у вас немає доступу до консолі та немає взаємодії з машиною, вам не пощастить.
З ваших коментарів звучить, як у вас все ще є оболонка на машині. Тоді є речі, які ти можеш зробити. Ви не можете запустити жоден зовнішній процес, наприклад, ls
або ps
. Але ви можете запускати вбудовані команди, такі як echo
, read
і kill
( kill
не є вбудованою у всі оболонки, але це одна у всіх оболонках, яка підтримує контроль за роботою, наприклад, bash та zsh).
Кожен процес має відповідний каталог під /proc
: /proc/12345
де 12345 - ідентифікатор процесу. Таким чином, ви можете отримати деяку інформацію про існування, вивчивши /proc
. echo
Тут є корисною символами, наприклад, cd /proc; echo [0-9]*
показує ідентифікатори процесів усіх запущених процесів. Якщо оболонка zsh, ви можете багато зробити з глобальними класифікаторами; наприклад, echo /proc/*(u$UID)
показує лише процеси, що працюють під вашим ідентифікатором користувача.
Спосіб відображення вмісту файлу без розгортання є
while read -r line; do
echo "$line"
done </path/to/file
Ви можете вбити багато процесів одночасно, передавши їх усім kill
. Якщо ви визначили процес, який належить вашому демону, спробуйте вбити його групу процесу, kill -9 -PGID
де PGID
знаходиться ідентифікатор процесу лідера групи. Ви можете знайти ідентифікатор групи процесів 123 з </proc/123/stat read pid tcomm state ppid pgrp sid more; echo $pgrp
. (Ця ж інформація існує і в більш читаному вигляді, /proc/123/
але ви не в змозі її прочитати.) Ви також можете спробувати надіслати сигнал усім вашим процесам (включаючи вихідну оболонку) за допомогою
trap : NUM
kill -NUM -1
Виберіть значення NUM, крім KILL
(9), щоб trap
команда ігнорувала сигнал ( KILL
не може бути захоплений).