Skip to content

Solevaral/QuickSIG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickSIG (quicksig)

Утилита для 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

Установка зависимостей (Ubuntu/Debian)

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: сборка бинарника quicksig
  • sudo make install: установка quicksig и quicksig-gui в /usr/local/bin

Проверка после установки:

which quicksig
which quicksig-gui
quicksig --help

Сборка

cd quicksig
make

После сборки появится бинарник ./quicksig.

Локальный запуск

1) Поиск и завершение по имени

./quicksig --name telegram

2) Завершение по PID

./quicksig --pid 12345

3) Принудительное завершение (если процесс игнорирует SIGTERM)

./quicksig --name telegram --force

4) Без подтверждения

./quicksig --name telegram --yes --force

5) Список процессов

./quicksig --list

6) Интерактивный режим

./quicksig --interactive

Установка как системной команды

Вариант A: через Makefile

sudo make install

Установятся:

  • /usr/local/bin/quicksig
  • /usr/local/bin/quicksig-gui

Удаление:

sudo make uninstall

Вариант B: через скрипт

sudo ./scripts/install.sh

Использование после установки

quicksig --name telegram
quicksig --pid 12345 --force
quicksig --list
quicksig --interactive

GUI напрямую:

quicksig-gui

Полный список аргументов

quicksig --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, и т.д.).

Типичные сценарии

Telegram завис

quicksig --name telegram

Если не закрывается:

quicksig --name telegram --force

Процесс завис по известному PID

quicksig --pid 4321 --force

Разработка

Сборка:

make

Очистка:

make clean

Структура проекта

quicksig/
├── src/
│   ├── main.cpp
│   ├── process_manager.h
│   └── process_manager.cpp
├── scripts/
│   ├── fzf_gui.sh
│   └── install.sh
├── Makefile
└── README.md

Публикация в GitHub

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors