[Java lista] exec

Marai Laszlo lists at atleta.hu
2008. Sze. 18., Cs, 21:45:18 CEST


On Thu, 18 Sep 2008 18:24:15 +0200
Akos Gabriel <akos.gabriel at i-logic.hu> wrote:

  Hali!

> > >   Linux-on lehet, hogy nem bináris fájlt hívnál meg, hanem egy
> > > script-et. Azt pedig nem tudja az exec futtatni. Próbáld meg úgy a
> > > futtatást, hogy egy shell futtassa azt, például exec("/bin/sh
> > > "+cmd).
> > 
> > Átírtam most ez van a logban:
> > command: /bin/sh -c "pdftops /home/laja/xxx/doc.pdf - | lpr "
> > 
> > Viszont továbbra se nyomtat. Parancssorból ugyanez megy :(
> > 
> Amúgy meg írnék egy scriptet, és azt hívogatnám, abban lehetne a pipe
> meg a többi. Amúgy meg a /bin/sh a program, a többi meg a paraméter,
> külön-külön, ugyebár?

Nem, a -c utan command string kell, az idezojel viszont lehet gond. Ha az
exec a shell-nek adja at a parancssort, akkor van ami ertelmezze az
idezojelet (akkor viszont nem kell a /bin/sh az elejere...), ha nem,
akkor nincs, es az idezojelpdftops... nevu programot probalja majd
futtatni az sh. Ez esetben az exec tobb parameteres valtozatat kene
hasznalni (asszem van olyan, ami String[]-t var). Egy parameter a -c
([0]) egy pedig a tobbi. Es tenyleg vagy abszolut utvonal kene, vagy
atadni a kornyezeti valtozokat (PATH elsosorban), erre is mintha lenne
exec valtozat.

A hiba megkereseseben meg sokat segithet a Process visszateresi ertekenek
es az sterr-nek a vizsgalata. 

  atleta


További információk a(z) Javalist levelezőlistáról