-
-
Save Th3On3/7835c580920931a0cdd47eab9108cf08 to your computer and use it in GitHub Desktop.
Revisions
-
gtitov created this gist
Sep 25, 2024 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,69 @@ source https://www.shubhamdipt.com/blog/how-to-create-a-systemd-service-in-linux/ 1. `cd /etc/systemd/system` 2. Create a file named your-service.service and include the following ``` [Unit] Description=<description about this service> [Service] User=<user e.g. root> WorkingDirectory=<directory_of_script e.g. /root> ExecStart=<script which needs to be executed> # optional items below Restart=always RestartSec=3 [Install] WantedBy=multi-user.target ``` ``` [Unit] Description=<project description> [Service] User=<user e.g. root> WorkingDirectory=<path to your project directory containing your python script> ExecStart=/home/user/.virtualenv/bin/python main.py # optional items below Restart=always RestartSec=3 # replace /home/user/.virtualenv/bin/python with your virtualenv and main.py with your script [Install] WantedBy=multi-user.target ``` ``` [Unit] Description=<project description> [Service] User=<user e.g. root> WorkingDirectory=<path to your project directory> ExecStart=/bin/bash -c 'cd /home/ubuntu/project/ && source venv/bin/activate && python test.py' # optional items below Restart=always RestartSec=3 [Install] WantedBy=multi-user.target ``` 3. Reload the service files to include the new service. `sudo systemctl daemon-reload` 4. Start your service `sudo systemctl start your-service.service` 5. To check the status of your service `sudo systemctl status example.service` 6. To enable your service on every reboot `sudo systemctl enable example.service` 7. To disable your service on every reboot `sudo systemctl disable example.service`