Added description of systemd service files.
							parent
							
								
									a8abc68901
								
							
						
					
					
						commit
						37baca5c82
					
				@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					+++
 | 
				
			||||||
 | 
					title = "Servis v systemd"
 | 
				
			||||||
 | 
					description = "Jak vyrobit z binárky systemd daemona"
 | 
				
			||||||
 | 
					date = 2021-02-4
 | 
				
			||||||
 | 
					draft = false
 | 
				
			||||||
 | 
					slug = "systemd-service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[taxonomies]
 | 
				
			||||||
 | 
					categories = ["linux"]
 | 
				
			||||||
 | 
					tags = ["systemd", "administrace"]
 | 
				
			||||||
 | 
					+++
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pokud potřebujeme spouštět program jako službu, na distribucích se systemd musíme vytvořit konfigurační soubor s popisem služby. Výhoda je, že lze jako daemona použít i normální binárka, kde se neřeší daemonizace forkem.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Konfigurák vytvoříme v `/etc/systmd/system/` s obsahem:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=Foo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					ExecStart=/usr/sbin/foo-daemon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Až je to hotové, je potřeba přenačíst služby příkazem:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ sudo systemctl daemon-reload
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pak se dá služba ovládat přes systemctl:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ sudo systemctl start foo-daemon
 | 
				
			||||||
 | 
					$ sudo systemctl stop foo-daemon
 | 
				
			||||||
 | 
					$ sudo systemctl restart foo-daemon
 | 
				
			||||||
 | 
					$ systemctl status foo-daemon
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A vypsat log přes journalctl:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					$ journalctl -u foo-daemon
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue