Strona 1 z 1
watchdog, na czym polega?
: 25 cze 2018, 16:17
autor: Borneq
Czy to jest jakieś polecenie Linuxa podobnie jak nohup?
Chciałbym aby mój program działał jako daemon (nohup), ale żeby był watchdog, aby nie zabijał mojego programu, ale za to program działałby sam przez pewien czas i kończył działanie, wtedy watchdog wznawiał by go. Jak to zrobić?
Re: watchdog, na czym polega?
: 25 cze 2018, 17:33
autor: jacekalex
Najlepszy do tego jest moim zdaniem
daemontools (jest w repo).
Strona programu:
https://cr.yp.to/daemontools.html
Przykładowo uruchamianie serwera Mysql przez daemontoolsa u mnie:
Kod: Zaznacz cały
#!/bin/sh
exec 2>&1
mkdir -p /var/run/mysqld;
chown mysql:mysql /var/run/mysqld;
chmod 1777 /var/run/mysqld;
mkdir -p mkdir -p /var/spool/postfix/var/run/mysqld;
grep '/var/spool/postfix/var/run/mysqld' /proc/mounts 2>&1 >/dev/null || mount -o bind /var/run/mysqld /var/spool/postfix/var/run/mysqld;
exec /usr/bin/setuidgid mysql /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf
Czy działa:
Kod: Zaznacz cały
svstat /service/mysqld/
/service/mysqld/: up (pid 6648) 679652 seconds
Kod: Zaznacz cały
echo status | mysql -u root -p
Enter password:
--------------
mysql Ver 15.1 Distrib 10.1.31-MariaDB, for Linux (x86_64) using readline 6.3
Connection id: 1358
Current database:
Current user: root@localhost
SSL: Cipher in use is DHE-RSA-AES256-SHA
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server: MariaDB
Server version: 10.1.31-MariaDB Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8mb4
Conn. characterset: utf8mb4
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 7 days 20 hours 51 min 19 sec
Threads: 3 Questions: 156001 Slow queries: 0 Opens: 54 Flush tables: 1 Open tables: 48 Queries per second avg: 0.229
Note that you are running in safe_update_mode:
UPDATEs and DELETEs that don't use a key in the WHERE clause are not allowed.
(One can force an UPDATE/DELETE by adding LIMIT # at the end of the command.)
SELECT has an automatic 'LIMIT 1000' if LIMIT is not used.
Max number of examined row combination in a join is set to: 1000000
--------------
A to np serwer Voip Asterisk:
Kod: Zaznacz cały
# G1 ### pon cze 25 17:46:58 domek : ~
root ~> cat /service/asterisk/run
#!/bin/sh
exec 2>&1
exec /usr/bin/setuidgid asterisk /usr/sbin/asterisk -f
Pozdro