App is software that users interact with directly.
Daemon is a system process that runs in the background to support or provide services.
| Criteria | App | Daemon |
|---|---|---|
| 🧩 Definition | Software intended for users to perform specific tasks | A program that runs in the background, serving the system or other apps |
| 👤 Target audience | End-user | System or other applications |
| 🖥️ Interface | May have GUI or CLI | Mostly headless |
| ⏱️ When it runs | When the user actively opens it or the system calls it | Usually starts with the system and runs continuously |
| 📌 Common names | firefox, gedit, htop, vlc... | apache2, sshd, dbus-daemon, systemd, cupsd... |
| 📂 Executable file location | /usr/bin, /usr/local/bin, ~/bin/... | /usr/sbin, /lib/systemd/system/, /etc/init.d/... |
| 🧠 Main role | Serves specific user tasks | Supports the system, provides services such as web, network, printing... |
| 📜 Name | Usually short, easy-to-remember names | Usually ends with the letter d (short for daemon): sshd, systemd, cupsd, dbus-daemon |
| ⚙️ Startup management | Users run or start applications themselves | Managed by systemd, init, rc.d, or supervisord |
| 🛠️ How to terminate | Close window or Ctrl+C (if CLI) | Use systemctl, service, or kill by PID |