Утилита для Linux, которая помогает безопасно и быстро завершать зависшие процессы.
Проект включает:
- CLI-команду
quicksig(поиск по имени/PID + завершение процесса) - Интерактивный режим
quicksig-guiчерезfzf
- Поиск процесса по имени или части командной строки
- Завершение процесса по PID
- Мягкое завершение через
SIGTERM - Принудительное завершение через
SIGKILL(--force) - Подтверждение перед убийством процессов
- Режим без подтверждения (
--yes) - Просмотр всех процессов (
--list) - Защита от self-kill: утилита не завершает сама себя
- Linux (используется
/proc) - C++ компилятор с поддержкой C++17 (
g++илиclang++) make- Для GUI-режима дополнительно:
fzf
sudo apt update
sudo apt install -y build-essential make fzfЕсли хотите сразу пользоваться командой глобально из любой папки:
cd /home/feelyamon/Cpp_projects/quicksig
make
sudo make installЧто делает каждая команда:
cd /home/feelyamon/Cpp_projects/quicksig: переход в папку проектаmake: сборка бинарникаquicksigsudo make install: установкаquicksigиquicksig-guiв/usr/local/bin
Проверка после установки:
which quicksig
which quicksig-gui
quicksig --helpcd quicksig
makeПосле сборки появится бинарник ./quicksig.
./quicksig --name telegram./quicksig --pid 12345./quicksig --name telegram --force./quicksig --name telegram --yes --force./quicksig --list./quicksig --interactivesudo make installУстановятся:
/usr/local/bin/quicksig/usr/local/bin/quicksig-gui
Удаление:
sudo make uninstallsudo ./scripts/install.shquicksig --name telegram
quicksig --pid 12345 --force
quicksig --list
quicksig --interactiveGUI напрямую:
quicksig-guiquicksig --helpКлючи:
-n, --name <query>: поиск по имени/командной строке-p, --pid <pid>: PID процесса (можно повторять)-f, --force: после таймаута SIGTERM послать SIGKILL-y, --yes: не спрашивать подтверждение-l, --list: показать все процессы-i, --interactive: интерактивный выбор черезfzf-h, --help: помощь
- Обычно можно завершать только процессы текущего пользователя.
- Для чужих процессов может понадобиться
sudo. - Используйте
--forceтолько когда обычное завершение не помогает. - Не завершайте критические системные процессы (
systemd,sshd, и т.д.).
quicksig --name telegramЕсли не закрывается:
quicksig --name telegram --forcequicksig --pid 4321 --forceСборка:
makeОчистка:
make cleanquicksig/
├── src/
│ ├── main.cpp
│ ├── process_manager.h
│ └── process_manager.cpp
├── scripts/
│ ├── fzf_gui.sh
│ └── install.sh
├── Makefile
└── README.md
git init
git add .
git commit -m "Initial commit: quicksig CLI tool"
git branch -M main
git remote add origin <YOUR_GITHUB_REPO_URL>
git push -u origin mainЕсли репозиторий уже создан локально:
git add .
git commit -m "Add README and gitignore"
git pushДобавьте файл LICENSE перед публикацией (например MIT), если планируете open-source.