Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Uran 17 Května 2011, 07:46:53
-
Potreboval bych poradit jak docilit aby se z terminalu spustil skype na pozadi. Pouizvan tuto podminku s overenim zdali skype uz nebezi a nejak do ni nemohu dostat aby se proces spoustel na pozadi.
if pidof skype; then kill -9 `pidof skype`; skype; else skype; fi
-
obvykle je to "aplikace &"
-
obvykle je to "aplikace &"
Jasny. Co, ale delam blbe?
$ if pidof skype; then kill -9 `pidof skype`; skype & ; else skype & ; fi
bash: chyba syntaxe poblíž neočekávaného tokenu „;“
$ if pidof skype; then kill -9 `pidof skype`; skype; else skype; fi &
[1] 6287
jakub@jakub-TravelMate-5740:~$ /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: chybná třída ELF: ELFCLASS64
(<unknown>:6289): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: chybná třída ELF: ELFCLASS64
.
.
.
Stejne se nespusti na pozadi.
-
jakub@jakub-TravelMate-5740:~$ /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: chybná třída ELF: ELFCLASS64
(<unknown>:6289): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: chybná třída ELF: ELFCLASS64
.
.
.
A mas vobec 64bit system?
-
jakub@jakub-TravelMate-5740:~$ /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: chybná třída ELF: ELFCLASS64
(<unknown>:6289): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so
/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: chybná třída ELF: ELFCLASS64
.
.
.
A mas vobec 64bit system?
Mam, ale jak to s tim souvisi? Skype funguje normalne jen mi jde o to jak v tom skriptu osetrit aby se procesy kompletne spustily na pozadi?
-
a co tohle?
if pidof skype; then kill -9 `pidof skype`; `skype &`; else `skype &`; fi
-
a co tohle?
if pidof skype; then kill -9 `pidof skype`; `skype &`; else `skype &`; fi
Porad nebezi na pozadi.
Jeste proc to resim. Pokud skype zavru krizkem tak nedojde k ukonceni programu a proces dal bezi. Nikde vsak neni zobrazena ikona skype takze nemohu program ovladat. Pokud zkusim skype znovu spustit tak to na me rve, ze uz jedna instance programu bezi.
Tedy by mi pomohlo jak znovu zobrazit okno jiz beziciho skype a pak bych tedy nemusel resit situaci killnutim a znovu spustenim.
-
K tomu bashi - když použijete "&", tak už za ním nesmíte dávat ";".
příkaz & příkaz
K tomu ostatnímu - při startu ti to hlásí, že chybí modul libappmenu.so, což je součást Unity panelu - globální menu. Pokud máš problém s panelem, nezobrazí se asi ani ikona v appindicatoru.
Co používáš za prostředí, jak ho máš nastavené, máš ještě nějaké problémy související s panelem?
-
K tomu bashi - když použijete "&", tak už za ním nesmíte dávat ";".
příkaz & příkaz
K tomu ostatnímu - při startu ti to hlásí, že chybí modul libappmenu.so, což je součást Unity panelu - globální menu. Pokud máš problém s panelem, nezobrazí se asi ani ikona v appindicatoru.
Co používáš za prostředí, jak ho máš nastavené, máš ještě nějaké problémy související s panelem?
Tak jsem to osetril tim, ze jsem vystup presmeroval do null a dal tam sleep aby meli procesy cas na ukonceni. Zatim to funguje. Neslo by to vsak resit nejak elegantneji?
#!/bin/bash
if pidof skype
then kill -9 `pidof skype`; sleep 2; skype 2> /dev/null &
else skype 2> /dev/null &
fi
Ad Ubuntu pouzivam Gnome clasic. Cele system je vsak nestabilni (pravidelne nekolikrat za den padne X server bez nejake viditelne hlasky). Chci se vratit na predchozi verzi takze unity ap moc neresim.
Description: Ubuntu 11.04
Release: 11.04
Codename: natty
Mam procesor "Intel® Core i5-430M processor" s integrovanou grafickou kartou
-
Tím, že přesměruješ chybový výstup do /dev/null nic neošetříš. V panelu si zkontroluj, jestli máš Oznamovací oblast, tam se ikona Skype standardně umisťuje.
-
Tím, že přesměruješ chybový výstup do /dev/null nic neošetříš. V panelu si zkontroluj, jestli máš Oznamovací oblast, tam se ikona Skype standardně umisťuje.
V panelu oznamovaci oblast mam viz screen. Presmerovani chyboveho vystupu funguje, tedy vse probiha na pozadi a po killnuti skype se otevre nove okno programu. Nechci uz unity a ubuntu 11.04 resit, protoze se vracim zpet na ubuntu 10.10.
Jinak dekuji za ten tip jak pouzivat &.
[attachment deleted by admin]
-
no musim do toho ještě vstoupit
http://www.abclinuxu.cz/clanky/unixove-nastroje-13-ps-kill-a-signaly#kill-a-signaly
http://www.abclinuxu.cz/clanky/unixove-nastroje-16-getopts-time-nohup#nohup
killall skype; nohup skype &
-
no musim do toho ještě vstoupit
http://www.abclinuxu.cz/clanky/unixove-nastroje-13-ps-kill-a-signaly#kill-a-signaly
http://www.abclinuxu.cz/clanky/unixove-nastroje-16-getopts-time-nohup#nohup
killall skype; nohup skype &
Elegantni. Jen jsem musel presmerovat chybovy vystup do /dev/null, protoze se to nespustilo na pozadi.
killall skype; nohup skype 2> /dev/null &
-
přesměrováním výstupu sice odstraníš ty strašidelný chybový hlášky, ale na pozadí to tím nehodíš, k tomu slouží nohup
-
no musim do toho ještě vstoupit
http://www.abclinuxu.cz/clanky/unixove-nastroje-13-ps-kill-a-signaly#kill-a-signaly
http://www.abclinuxu.cz/clanky/unixove-nastroje-16-getopts-time-nohup#nohup
killall skype; nohup skype &
Elegantni. Jen jsem musel presmerovat chybovy vystup do /dev/null, protoze se to nespustilo na pozadi.
killall skype; nohup skype 2> /dev/null &
A proč vlastně řešíš nějaké hlášky? Proč to nedáš do nějakého spouštěče na kliknutí a nějaké výpisy kdesi tě nemusí zajímat.
bash -c 'ten tvůj skriptík'
-
A proč vlastně řešíš nějaké hlášky? Proč to nedáš do nějakého spouštěče na kliknutí a nějaké výpisy kdesi tě nemusí zajímat.
bash -c 'ten tvůj skriptík'
Protoze to nekdy spoustim i z terminalu (guake) a pak mi to bez potlaceniúpresmerovani chyboveho vystupu blokuje terminal.
-
A proč vlastně řešíš nějaké hlášky? Proč to nedáš do nějakého spouštěče na kliknutí a nějaké výpisy kdesi tě nemusí zajímat.
bash -c 'ten tvůj skriptík'
Protoze to nekdy spoustim i z terminalu (guake) a pak mi to bez potlaceniúpresmerovani chyboveho vystupu blokuje terminal.
Pak máš vždycky ještě možnost použít Alt+F2, to jen pro úplnost :)
-
Jeste by me na zaver zajimalo co se deje s chybovym vystupem, kdyz program spustim spustecem pomoci "bash -c 'skript'" pripadne Alt+F2. Zaznamenava se nekam do souboru nebo se zahodi? Samozrejme, ze mi jde o situaci v Ubuntu 11.04/Gnome clasic.
Jinak funkcne je to vse vyresene k me maximalni spokojenosti.
Dekuji vsem za rady.
-
Jeste by me na zaver zajimalo co se deje s chybovym vystupem, kdyz program spustim spustecem pomoci "bash -c 'skript'" pripadne Alt+F2. Zaznamenava se nekam do souboru nebo se zahodi? Samozrejme, ze mi jde o situaci v Ubuntu 11.04/Gnome clasic.
Jinak funkcne jsme to je vyresene k me maximalni spokojenosti.
Dekuji vsem za rady.
Ono se na tom nic nemění, jen ten text nevidíš, protože se terminál nezobrazuje.