{"id":2232,"date":"2021-07-04T01:32:05","date_gmt":"2021-07-03T23:32:05","guid":{"rendered":"http:\/\/hamspirit.pl\/SQ9MDD\/?p=2232"},"modified":"2021-07-04T01:32:05","modified_gmt":"2021-07-03T23:32:05","slug":"nadzor-nad-procesami-w-linuksie","status":"publish","type":"post","link":"https:\/\/sq9mdd.hamspirit.pl\/?p=2232","title":{"rendered":"Nadz\u00f3r nad procesami w linuksie"},"content":{"rendered":"<p>Czasami niekt\u00f3re programy lub skrypty niespodziewanie ko\u0144cz\u0105 swoj\u0105 prac\u0119 z powodu b\u0142\u0119du. Je\u015bli jednak pracujemy pod kontrol\u0105 systemu linux \u0142atwo temu zaradzi\u0107.<\/p>\n<p><!--more--><\/p>\n<p>W systemie linux istnieje program cron dzi\u0119ki kt\u00f3remu mo\u017cemy \u0142atwo sprawi\u0107 by nasz program lub skrypt dzia\u0142a\u0142 zawsze. Cron to nic innego jak harmonogram zada\u0144, oparty na czasie. Dzi\u0119ki niemu mog\u0119 w prosty spos\u00f3b zleci\u0107 uruchamianie okre\u015blonego skryptu lub programu co zadany interwa\u0142 czasu, lub o konkretnej godzinie, dniu itd.<\/p>\n<p>Na potrzeby tego wpisu przygotowa\u0142em skrypt do nadzoru pracy domoticza, przyk\u0142ad zosta\u0142 wykonany na raspberry pi. Pierwsza rzecz to przygotowanie skryptu shellowego kt\u00f3ry b\u0119dzie uruchamia\u0142 domoticza je\u015bli jego proces w systemie nie istnieje. Zaczynamy w katalogu domowym i kolejno wykonujemy komendy by utworzy\u0107 i edytowa\u0107 plik:<\/p>\n<pre>cd\npico run.sh\n<\/pre>\n<p>W edytorze pico wpisujemy zawarto\u015b\u0107 skryptu:<\/p>\n<pre>#!\/bin\/bash\nif [[ ! $(\/usr\/bin\/pgrep -f domoticz) ]]; then\n\/home\/pi\/domoticz\/domoticz -daemon -www 80 -sslwww 0\nfi\n<\/pre>\n<p>Skrypt dzia\u0142a w ten spos\u00f3b \u017ce za pomoc\u0105 programu pgrep sprawdza jaki jest numer procesu domoticza, i je\u015bli proces istnieje to zwraca jego numer a je\u015bli nie to zwraca pust\u0105 warto\u015b\u0107 co z kolei wyzwala uruchomienie domoticza. Po zapisaniu skryptu musimy nada\u0107 u atrybut wykonywalno\u015bci za pomoc\u0105 komendy:<\/p>\n<pre>sudo chmod +x run.sh\n<\/pre>\n<p>Tak przygotowany skrypt nale\u017cy teraz doda\u0107 do cron-a by ten uruchamia\u0142 go co minut\u0119. Otwieramy wi\u0119c plik \/etc\/crontab do edycji:<\/p>\n<pre>sudo pico \/etc\/crontab\n<\/pre>\n<p>I na jego ko\u0144cu dopisujemy:<\/p>\n<pre>* * * * * root \/home\/pi\/run.sh\n<\/pre>\n<p>Po zapisaniu pliku, restartujemy us\u0142ug\u0119 cron-a za pomoc\u0105 komendy:<\/p>\n<pre>sudo \/etc\/init.d\/cron restart\n<\/pre>\n<p>Gotowe teraz gdy domoticz si\u0119 wysypie i przestanie dzia\u0142a\u0107 maksymalnie po minucie zostanie ponownie uruchomiony.<br \/>\nSpos\u00f3b ten zasadniczo mo\u017cna zastosowa\u0107 do nadzoru ka\u017cdego procesu.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Czasami niekt\u00f3re programy lub skrypty niespodziewanie ko\u0144cz\u0105 swoj\u0105 prac\u0119 z powodu b\u0142\u0119du. Je\u015bli jednak pracujemy pod kontrol\u0105 systemu linux \u0142atwo temu zaradzi\u0107.<\/p>\n","protected":false},"author":2,"featured_media":1374,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,22],"tags":[],"class_list":["post-2232","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algorytmy","category-software"],"_links":{"self":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/2232","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2232"}],"version-history":[{"count":0,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/posts\/2232\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=\/wp\/v2\/media\/1374"}],"wp:attachment":[{"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sq9mdd.hamspirit.pl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}