🎴
Software and Systems—Keith Kim
  • What I'm Making and What I Use
  • Code Patterns
    • Fun with flat_map (in Ruby)
    • Enumerating Union Types in Elm
    • Software Design Patterns
    • Authn / Authz
  • Data access
    • Type-safe SQL with SafeQL
    • JDBI
    • Jooq
  • OpenSource
    • Keyboard Layouts
      • Qwickly: Keyboard Layout
      • Colemak + Niro + Soul + MTGAP
    • Libraries
      • SafeQL
      • Moja
      • Monadts
    • Apps
      • Database Diagram
      • Unfurlist
  • Products / Services
    • Hackerer.news
    • Gitgrep.com
    • Quicklog.io
      • Client libraries
    • QuickX.app
      • Vultrdata (opensource)
        • Vultr instance metadata
    • Statuspages.me
    • Coming soon...
      • CheatsheetsDB.com
      • iSpecsDB.com
      • Slackflows.com
  • Frameworks
    • About Frameworks
    • A Replacement for Spring Boot
    • Back-end
      • Node.js
      • Spring Boot/Java
      • Javalin/Java(Kotlin)
    • Full-stack
      • Phoenix/Elixir
      • Rails/Ruby
      • Yii/Php
    • Front-end
      • Vue.js/TypeScript
      • React
      • Elm
    • Mobile/Client
      • Flutter
      • JavaFX
  • Databases / Datastores
    • SQL / NewSQL
      • MySQL
      • PostgreSQL
      • CockroachDB
    • Stream / Queue
      • RabbitMQ
      • Apache Kafka
    • Cache / Search
      • Redis
      • Elasticsearch / Solr / Lucene
    • Cloud
      • RDS / Cloud SQL
      • Spanner
      • Firebase
    • Datomic
  • Languages
    • About Languages
    • On the JVM
      • Kotlin
      • Java
      • Clojure
      • Scala
    • Client/Fullstack
      • TypeScript
      • Dart
      • Elixir
      • Ruby
      • PHP
    • Go / 2.0
    • F# / OCaml
    • Crystal
    • Pony
  • Third-party Services
    • About Services
    • Domains / DNS / CDN
      • Cloudflare
      • Namecheap
      • NameSilo
    • GitHub, GitLab, Bitbucket
    • Deployment & Monitoring
      • Netlify
      • Cloud VM
        • Vultr
      • Concourse CI on AWS EC2
      • DataDog
      • Loggly
  • Other Software
    • GitBook
    • Hugo
    • Servers
      • Nginx
      • Letsencrypt
      • Systemd
      • Server Operating Systems
    • Windows/WSL(2)
    • Software Licences
Powered by GitBook
On this page

Was this helpful?

  1. Other Software
  2. Servers

Systemd

Many Linux distributions (including Ubuntu) use systemd which manages system services.

PreviousLetsencryptNextServer Operating Systems

Last updated 5 years ago

Was this helpful?

In the following text an example service named vultrdata is used for illustrative purposes.

A service is defined in a file named like /etc/systemd/system/vultrdata.service. Unit files have a format like in this example:

[Unit]
Description=Vultr Instance Metadata Service
After=network.target

[Service]
User=vultrdata
WorkingDirectory=/opt/vultrdata
Restart=always
Environment=API_KEY=____________________________________
ExecStart=/opt/vultrdata/vultrdata --addr 10.1.2.3 --port 8888 --userdata

[Install]
WantedBy=multi-user.target

After creating the file in the /etc/systemd/system directory, issue this command to register it:

$ sudo systemctl daemon-reload

Then you can check the status:

$ sudo systemctl status vultrdata
● vultrdata.service - Vultr Instance Data Service
   Loaded: loaded (/etc/systemd/system/vultrdata.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-04-05 19:35:56 UTC; 1 weeks 0 days ago
 Main PID: 19694 (vultrdata)
    Tasks: 16 (limit: 4661)
   CGroup: /system.slice/vultrdata.service
           ├─19496 /opt/vultrdata/vultrdata --addr 10.1.2.3 --port 8888 --userdata
           └─19509 /opt/vultrdata/vultrdata --addr 10.1.2.3 --port 8888 --userdata

Or start, stop, restart it:

$ sudo systemctl start vultrdata.service
$ sudo systemctl stop vultrdata.service
$ sudo systemctl restart vultrdata.service

You can enable or disable starting the unit/service on system startup:

$ sudo systemctl enable vultrdata
$ sudo systemctl disable vultrdata

You can see/tail all systemd logs, or just for your service (unit):

$ sudo journalctl -f
$ sudo journalctl -f -u vultrdata

systemdWikipedia
(wikipedia.org)
Logo