Щоб вбити процес, що працює на машині, деякий локальний процес (або ядро) повинен випромінювати сигнал вбивства. Отже, вам потрібен спосіб викликати процес, який випромінює цей сигнал, і оскільки ви не можете створити новий процес, вам потрібно знайти спосіб, який покладається виключно на вже запущені процеси.
Немає стандартного демона, який би там міг вам допомогти. Усі вони оброблять вашу автентифікацію, а потім розщеплюють новий процес (наприклад, оболонку), що працює як ви. Тож якщо у вас немає доступу до консолі та немає взаємодії з машиною, вам не пощастить.
З ваших коментарів звучить, як у вас все ще є оболонка на машині. Тоді є речі, які ти можеш зробити. Ви не можете запустити жоден зовнішній процес, наприклад, 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не може бути захоплений).