Temat: Jak zabić proces złożony z dwóch części

Witam
Mam taki problem:
Mam uruchomiony proces o nazwie:
/usr/bin/php-cli /www/play/test.php

Gdy daje: killall test.php niestety nie zabija go
Gdy daje : killall php-cli to zabija go
Zależy mi na tym aby jednak php-cli w systemie dalej było uruchomione, a jedynie skrypt test.php zastał zatrzymany..

Ktoś pomoże??

Albo kto wie jak uruchmić skrypt test.php tylko takim poleceniem:
/www/play/test.php
a nie takim:
/usr/bin/php-cli /www/play/test.php

2

Odp: Jak zabić proces złożony z dwóch części

Bez sensu, bo przecież nie uruchomisz samego php-cli bo to nie jest demon który ma nasłuchiwać na coś. Kilujesz po prostu proces.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Jak zabić proces złożony z dwóch części

Spróbuj
http://stackoverflow.com/questions/5506 … php-script
tylko zmień #!/bin/php na #!/usr/bin/php-cli

4 (edytowany przez guest666 2013-08-17 10:39:59)

Odp: Jak zabić proces złożony z dwóch części

sciss napisał/a:

Spróbuj
http://stackoverflow.com/questions/5506 … php-script
tylko zmień #!/bin/php na #!/usr/bin/php-cli

THX smile

5 (edytowany przez guest666 2013-08-17 10:40:33)

Odp: Jak zabić proces złożony z dwóch części

A jednak nie działa u mnie...
Na początku skryptu test.php wpisałem: #!/usr/bin/php-cli

a skrypt i tak się nie chce uruchomić komendą:
/www/play/test.php

tylko:
/usr/bin/php-cli /www/play/test.php

Gdzie leży problem??

6

Odp: Jak zabić proces złożony z dwóch części

Cezary napisał/a:

Bez sensu, bo przecież nie uruchomisz samego php-cli bo to nie jest demon który ma nasłuchiwać na coś. Kilujesz po prostu proces.

Mam dwa procesy uruchomione:
1.
/usr/bin/php-cli /www/play/test.php
2.
/usr/bin/php-cli /www/play/test2.php

Jak dam killall php-cli to mi zabija obydwa
A zależy mi tylko żeby zabić jeden, rozpoznając go po nazwie!

7

Odp: Jak zabić proces złożony z dwóch części

Po pid masz zabić a nie po nazwie.

Zrób ps | grep test.php  znajdziesz jego pid. A późnij kill -9 ten_pid i masz ubity dokładnie ten proces.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Jak zabić proces złożony z dwóch części

Cezary napisał/a:

Po pid masz zabić a nie po nazwie.

Zrób ps | grep test.php  znajdziesz jego pid. A późnij kill -9 ten_pid i masz ubity dokładnie ten proces.

OK

A dlaczego nie działa to:

Na początku skryptu test.php wpisałem: #!/usr/bin/php-cli

a skrypt i tak się nie chce uruchomić komendą:
/www/play/test.php

tylko:
/usr/bin/php-cli /www/play/test.php

9

Odp: Jak zabić proces złożony z dwóch części

Być może dlatego że ash ma problem  z interpretacją tego jako skryptu. Zrobiłeś skrypt wykonywalnym?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: Jak zabić proces złożony z dwóch części

Cezary napisał/a:

Być może dlatego że ash ma problem  z interpretacją tego jako skryptu. Zrobiłeś skrypt wykonywalnym?

oczywiście 775

11

Odp: Jak zabić proces złożony z dwóch części

Skrypty jeżeli mają ustawioną flagę wykonywalności to uruchamia się taki skrypt poprzedzajac kropką, jeżeli w poleceniu wywołującym nie chcemy podawać ścieżki do interpretera:

./sciezka_do_skryptu

a nie

/sciezka_do_skryptu

czyli

./www/play/test.php

zamiast

/www/play/test.php

i zadziała

Oczywiście na początku w pliku test.php należy umieścić linijkę dotyczącą interpretera, czyli
#!/usr/bin/php-cli

TP-Link MR3020 + Huawei E173u-2