Új hozzászólás Aktív témák

  • Frawly

    veterán

    válasz s1999xx #28060 üzenetére

    Közben rájöttem, hogy a killall parancs egyrészt nem kezel szóközöket, másrészt a process nevét kéri, és a legtöbb process listázó/ps/*top alkalmazás nem a tényleges nevet írja ki, hanem az indító parancssort, ami sokszor nem egy és ugyanaz.

    Ez a progi a termite -e asciiquarium parancsot futtatva valóban simán perl néven fut, míg a parancssora perl /usr/bin/asciiquarium.

    A megoldás azonban megvan. A pkill utility-t kell használni, az tud rendes regexpet:
    pkill -f asciiquarium

    A -f kapcsoló azért kell, hogy a process neve helyett (ami továbbra is csak simán perl) az indító parancssorában keressen. Egyébként meg a killall parancs onnan kapta a nevét, hogy ha valami több példányban vagy több paraméterrel is fut, akkor az összeset bezárja, pont ez a lényege, hogy nem lehet parancssor alapján differenciálni, hogy mit zárjon be és mit hagyjon nyitva. Csak egy egyszavas, azaz szóközök nélküli processnevet fogad, ha többet is talál, mind bezárja.

    A másik, ami nem elegáns a scriptben, az az 1-2-es virtuális asztal konkrét bedrótozása, de ez nálam nem probléma. Mindig csak egy munkaasztalt használok, az 1-es számút. A 2-eset csak speciális esetre (show desktop funkció, ha a háttérképet akarom lecsekkolni vagy most ennek a képernyőzárolós megoldásnak). Tehát nem zavar be semmibe, úgyis olyan felállásból fut mindig, hogy az 1-es munkaasztal az aktív.

Új hozzászólás Aktív témák