Zdravím, je možné dát nějaký příkaz aplikaci, která běží na pozadí?
Např. spustím aplikaci na pozadí a chtěl bych, aby se restartovala. Mám v aplikaci příkaz reload, ale nevím jak ho můžu aktivovat.
Nejlépe bez toho, abych ho musel vytahovat do popředí, rád bych to spojil s webem, že bych klikl na tlačítko a ono se mi to restartovalo.
Děkuji
http://en.wikipedia.org/wiki/Inter-process_communication
Co přesně tam mám hledat?
Citace od: strom159 kdy 10. 08. 2012, 11:43:17
Co přesně tam mám hledat?
Zpusoby, jak komunikovat s procesem.
Co napr. znamena "Mám v aplikaci příkaz reload"? To je informace asi tak na urovni "mam v aplikaci binarni retezec abcdef123456"...
Jde mi to, abych mohl nějak externě komunikovat s aplikací na pozadí bez toho, abych jo vytahoval do popředí.
Citace od: strom159 kdy 10. 08. 2012, 12:09:56
Jde mi to, abych mohl nějak externě komunikovat s aplikací na pozadí bez toho, abych jo vytahoval do popředí.
Ano, my to chapeme. Na te strance z Wiki mas popsanych X zpusobu, jak se takova vec da udelat.
Na mě je to moc složité a ještě k tomu v angličtině.
Citace od: strom159 kdy 10. 08. 2012, 12:13:21
Na mě je to moc složité a ještě k tomu v angličtině.
Tak nekomu zaplat, at ti to zprovozni. Co jinyho ocekavas?
Dobře, tak děkuji.
pokud chces jenom reload... zkus pouzit treba signaly, hledej funkce signal a kill
No, ještě bych to mohl udělat pomocí screenu, můžu ho vytvořit ctrl+A, jde to udělat pomocí příkazu?
Použij ty signály, to je nejjednodušší. Pokud bys potřeboval předávat nějaké hodnoty/zprávy a ne jen do aplikace ,,šťouchnout", tak zkus třeba POSIX MQ (https://frantovo.cz/blog/?q=posilani-zprav-pomoci-fronty-posix-mq) (máš tam i zdroják a je to česky).
Citace od: Franta kdy 11. 08. 2012, 01:21:08
Použij ty signály, to je nejjednodušší. Pokud bys potřeboval předávat nějaké hodnoty/zprávy a ne jen do aplikace ,,šťouchnout", tak zkus třeba POSIX MQ (https://frantovo.cz/blog/?q=posilani-zprav-pomoci-fronty-posix-mq) (máš tam i zdroják a je to česky).
A jak víš, že aplikace o které píše, na signály bude reagovat.
Citace od: strom159 kdy 10. 08. 2012, 11:32:59
Zdravím, je možné dát nějaký příkaz aplikaci, která běží na pozadí?
Např. spustím aplikaci na pozadí a chtěl bych, aby se restartovala. Mám v aplikaci příkaz reload, ale nevím jak ho můžu aktivovat.
Nejlépe bez toho, abych ho musel vytahovat do popředí, rád bych to spojil s webem, že bych klikl na tlačítko a ono se mi to restartovalo.
Děkuji
Asi by to chtělo trochu víc detailů - takhle nikdo netuší, jestli se ptáš na nějakou hotovou app, nebo něco píšeš. Pokud jde o hotovou app, jaké je rozhraní, jestli reaguje na signály nebo je to všechno jinak. Potom se nediv, že dostaneš jen velmi obecnou reakci.
Citace od: Jarda D. kdy 11. 08. 2012, 07:03:08
A jak víš, že aplikace o které píše, na signály bude reagovat.
Tak nějak jsem předpokládal, že mluví o aplikaci, kterou sám píše. Ale tak snad od ní má aspoň zdrojáky, ne?
- nastudovat API programu (D-Bus, sokety atd. třeba to podporuje)
- dopsat si tam reakci na signál případně MQ zprávu nebo něco jiného
- zkusit vyvolat požadovanou akci přes Xka nebo přes debugger
Citace od: Franta kdy 11. 08. 2012, 10:46:17
Citace od: Jarda D. kdy 11. 08. 2012, 07:03:08
A jak víš, že aplikace o které píše, na signály bude reagovat.
Tak nějak jsem předpokládal, že mluví o aplikaci, kterou sám píše. Ale tak snad od ní má aspoň zdrojáky, ne?
- nastudovat API programu (D-Bus, sokety atd. třeba to podporuje)
- dopsat si tam reakci na signál případně MQ zprávu nebo něco jiného
- zkusit vyvolat požadovanou akci přes Xka nebo přes debugger
Hmm, předpokládal. Nic proti tazateli nemám a nechci se do něj nijak pouštět, ale po tom co jsem si přečetl jeho odpovědi považuji tvůj předpoklad za odvážný a tvá doporučení mimo realitu. Ale možná se pletu.
To jsem již vyřešil. Udělal jsem to tak, že jsem ji nedal na pozadí, ale pustil na samotným screenu.
A potom stačilo vypisovat příkazy do screenu.