abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 06:00 | Zajímavý software

OMG! Ubuntu! představuje emulátor terminálu Hyper (GitHub) postavený na webových technologiích (HTML, CSS a JavaScript). V diskusi k článku je zmíněn podobný emulátor terminálu Black Screen. Hyper i Black Screen používají framework Electron, stejně jako editor Atom nebo vývojové prostředí Visual Studio Code.

Ladislav Hagara | Komentářů: 22
dnes 06:00 | Zajímavý článek

I letos vychází řada ajťáckých adventních kalendářů. QEMU Advent Calendar 2016 přináší každý den nový obraz disku pro QEMU. Programátoři se mohou potrápit při řešení úloh z kalendáře Advent of Code 2016. Kalendáře Perl Advent Calendar 2016 a Perl 6 Advent Calendar přinášejí každý den zajímavé informace o programovacím jazyce Perl. Stranou nezůstává ani programovací jazyk Go.

Ladislav Hagara | Komentářů: 4
3.12. 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 14
3.12. 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
2.12. 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 25
2.12. 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 15
2.12. 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 4
2.12. 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
2.12. 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 1
2.12. 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 773 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: PHP dotazy na server

23.11.2008 20:25 maic
PHP dotazy na server
Přečteno: 633×

Zdravím,

chtěl bych se zeptat jestli by mě někdo neporadil jak udělat aby se aplikace spustila pod předem nastaveném PID ... mám administraci serverů pro gta samp.. a potřebuji nějak udělat zapínání a vypínání serverů a napadlo mě na to použít v php příkaz  system("PRIKAZ");  ,ale nevim jak predem nastavit ten PID .. a nebo alespon jak v PHP zjistit jakej PID ten spustenej program má.

Předem děkuji. Michael Fanta

 

Odpovědi

23.11.2008 20:46 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: PHP dotazy na server

Tohle se řeší tak, že server (nebo skript, který ho startuje) při startu uloží do souboru své PID  (v linuxu se k tomu běžně používá adresář /var/run/) a ty si pak z toho souboru načteš PID a můžeš zasílat signály.

-- Nezdar není hanbou, hanbou je strach z pokusu.
23.11.2008 20:55 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Jo takle.. a neporadil byste trošku blíže? Přece jenom já dělám s linuxem teprve chvilku. Třeba kdybyste byl tak hodnej a nějakej příklad uvedl. Byl bych moc vděčný. Určitě nejsem jediný, ale věci lépe chápu  spříkladu. 

AraxoN avatar 23.11.2008 22:13 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: PHP dotazy na server

PID procesu sa dá zistiť shell príkazom pidof, kde ako parameter ide názov príkazu. Napríklad:

araxon@lighthouse ~ $ pidof firefox-bin
6217

To sa potom dá vložiť do iného príkazu cez operátor `:

araxon@lighthouse ~ $ kill -15 `pidof firefox-bin`

V php potom cez shell_exec takto: shell_exec("kill -15 `pidof firefox-bin`");

A fine is a tax for doing wrong. A tax is a fine for doing well.
23.11.2008 23:17 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Takže jestli to chápu dobře tak to    firefox-bin  je nazev toho PID ?

No dejme tomu že mám aplikaci   samp_7777 a chci kni dat PID 7777 to udělám jak?

zkoušel sem to i takto:

./samp_7777 -PID=777

ale nic

 

23.11.2008 23:34 CN!RY
Rozbalit Rozbalit vše Re: PHP dotazy na server

a co pro start třeba nějak takto

/sbin/start-stop-daemon --start -m -p ./samp.pid -b -x samp_7777

 

a pro kill pak takto

/sbin/start-stop-daemon --stop -p ./samp.pid

23.11.2008 23:39 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Takto mě to nejde ... 

AraxoN avatar 23.11.2008 23:40 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: PHP dotazy na server

PID si nevyberáš, ten Ti pridelí operačný systém. firefox-bin bol názov programu, ktorého PID som chcel zistiť, a napísal som ho len pre ukážku. Ak taký program u Teba nie je spustený tak pidof nevráti nič.

A fine is a tax for doing wrong. A tax is a fine for doing well.
24.11.2008 00:04 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Tak jinak.. udělal jsem to teda takto:

 

  $pid = shell_exec("pidof samp_7779");
  $akce = "kill ".$pid;
  echo "PID (".$pid.") - Akce (".$akce.")";
  shell_exec($akce);

  echo "<p><font color='#008000'>Server vypnut...</font></p>";
 

 

Ale nic se neprovede.. nevíte proč? To by mě fakt zajímalo teda proč? :(

AraxoN avatar 24.11.2008 00:58 AraxoN | skóre: 45 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: PHP dotazy na server

A ten program samp_7779 beží pod tým istým užívateľom ako webserver? Zistilo to ten PID? Čo to vypísalo?

A fine is a tax for doing wrong. A tax is a fine for doing well.
24.11.2008 01:17 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Ano .. šak tam mám to echo kde se vypisuje ten PID kterej to zjistí... a pak teprve zadává KILL 

24.11.2008 01:22 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Jinak vypsalo se to přesně takto

 

PID (9667 ) - Akce (kill 9667 ) 

24.11.2008 10:55 Haaja | skóre: 25 | blog: haaja | Praha
Rozbalit Rozbalit vše Re: PHP dotazy na server

Jedine co me napada ze to co chces stopnout bezi pod jinym uzivatelem (root nebo neco jineho) nez je apache a tudiz ten kill dat nemuzes.

 

Kdyz spustis ten kill rucne pod uzivatelem apache (www-data nebo nejaky jiny pouzivany) tak to zabije?

24.11.2008 11:05 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

přes ssh ho to zabije... ale když dám top tak je tam user root a apache to samý 

24.11.2008 11:22 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Ach jo ted na to kooukám.... apache běží přes usera    nobody :(

 

  515     nobody      15    0    27532    16m    5476   S    0    3.3    0:04.62     httpd 

24.11.2008 11:41 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Dal sem si tam

 

  echo shell_exec("groups")."<br>";
  echo shell_exec("whoami")."<br>";
 

 

a vyplsalo mi to:

nogroup

nobody

 

tak jde nejak spustit ty servery pod temito udaji? 

24.11.2008 11:50 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Vyřešeno.. použil jsem  

su nobody -c ./samp_7777

 

ale ještě bych potřeboval jestli by mě někdo neporadil jak by měl vypadat script co by tohle zadaval.. např ...  start.sh

 

a tam aby se provedlo

su nobody -c ./samp_7777 

24.11.2008 13:30 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Takže mám tento script:  start_7777.sh

#!/bin/bash
cd /root/servery/7777
su nobody -c ./samp_7777 &
 

a pouštím ho pomocí

shell_exec("./start_7777.sh");

nevíte pls někdo proč to nejde takto spustit? :) 

24.11.2008 15:30 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: PHP dotazy na server

Má ten skript práva pro spuštění (chmod +x start_7777.sh)?

BTW. proč to nejde takto spustit bys nám spíš měl říct ty podle nějaké chybové hlášky nebo výpisu z logu :)

A proč tam máš vlastně to su nobody, když to spouštíš z PHP pod Apache a Apache už pod nobody běží, jak píšeš výše?

24.11.2008 16:08 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

V logu nic není.. nebo aspon ve kterým? .. a chmod je nastaven na 777 

24.11.2008 16:22 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

No tak už vše funguje.. jen mě štve, že web čeká až se server ukončí.. do té doby se nenačítá :'( 

25.11.2008 12:16 Kroko | skóre: 22
Rozbalit Rozbalit vše Re: PHP dotazy na server

Nejak jsem nepochopil proc potrebujete spoustenemu procesu prirazovat konkretni PID, navic si myslim (mozna se pletu) ze PID prirazuje samo jadro podle toho jak se jednotlive procesy spousteji a vy ho neovlivnite, max. ho muzete zjistit ...

http://kroko.evesnight.net
25.11.2008 12:18 Kroko | skóre: 22
Rozbalit Rozbalit vše Re: PHP dotazy na server

Asi spise hledate UID (user ID) nebo GID (group ID) a ne PID (proces ID)

http://kroko.evesnight.net
25.11.2008 19:24 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Tohle už je vyřešeno :)

Teďka se snažím příjít na tuhle chybu:

 

když kliknu na start serveru tak mě to server spustí ale apache čeká dokud se server nevypne.. až server vypne tak apache pokračuje v akci. :( 

25.11.2008 20:14 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: PHP dotazy na server

Ten server by se měl nějak daemonizovat. Měl by to umět sám - tato vlastnost se obecně od serverů celkem očekává :-) Takže se zkus podívat po nějakém přepínači v příkazové řádce. Nebo si můžeš pomoci nějakým trikem - např. nohup (nevím jestli bude fungovat), nebo teď mě napadá konstrukce typu  "(su nobody -c ./samp_7777 &)".

27.11.2008 13:10 maic
Rozbalit Rozbalit vše Re: PHP dotazy na server

Vyřešeno .. díky Messa :)

27.11.2008 13:31 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: PHP dotazy na server

Nakonec stačilo jen přesměrovat standardní a chybový výstup do /dev/null a spustit skript na pozadí:

<?php
system("./skript.sh 2>/dev/null >/dev/null &");
?>

Nejpravděpodobnější vysvětlení - výstupy jsou napojeny na rouru, kterou čte PHP (jak jinak) a PHP považuje příkaz za dokončení evidentně zavřením této roury. Samozřejmě je nutné, aby se proces se shellem ukončil, proto ten ampersand.

Josef Kufner avatar 25.11.2008 22:24 Josef Kufner | skóre: 66
Rozbalit Rozbalit vše Re: PHP dotazy na server
Ještě k tomu system()... Já bych raději napsal malého jednoduchého démona, který by poslouchal na nějakém soketu, očekával příkazy a dělal podle nich co je potřeba. IMHO by to bylo výrazně bezpečnější a dalo by se s tím i vyřešit monitorování stavu služeb, jejich automatické restartování a další věci. A nejspíš už i něco takového existuje.

Ale jak tak nad tím přemýšlým, asi bych se na to vykašlal, nahrál ssh klíče a pro obzvlášť otravné činnosti si napsal jednoduché scripty (hlavně ssh-nuke all shutdown now).
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.