Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: alfonz19 24 Února 2011, 12:01:01
-
Zdar,
mám dotaz. Spouštím proces. Dejme tomu, že příkaz je poněkud delší. Chci si ověřit, co se ve skutečnosti spustilo.
ps -C java -o pid,command | grep 14943 | less
less používám proto, že se se mi to jaksi nezalamuje ... A vidím, že příkaz není kompletní! Ale nastartoval ok, což je divné. Tedy zkouším
ps -C java -o pid,command | grep 14943 | wc -m
4103
to je nějak málo, tak zkusím pastnout příkaz do souboru
martin@MM-PC:~$ cat > a
java .... dlouhý, dlouhý sakra dlouhý příkaz
martin@MM-PC:~$ cat a | wc -m
4096
to je ještě méně! Tak to zkusím uložit do souboru přes grafický editor a vypsat počet znaků pak
martin@MM-PC:~$ cat b | wc -m
4192
což už je správně.
Dva dotazy:
1. jaké je vysvětlení, že prvé dvě metody zobrazily chybný výsledek?
2. jak vypsat příkaz, který vedl ke spuštění konkrétního procesu? (i grafické "sledování systému" vypisuje nekompletní příkaz ...).
předem dík
-
díky za odpověď.
man ps jsem měl přečtený, proc ne, ale to asi není úplně třeba číst celé.
Odpověď jsem pochopil a svůj problém umím vyřešit. Nicméně rád bych se zde něco naučil na uvedeném příkladě.
Příklad obsahuje chybu, protože píše něco jako
Can't open 25007: No such file or directory.
(ač existuje a otevřít jde), ale to teď není důležité.
Můžeme ten příkaz rozebrat?
/proc/`pgrep java`/cmdlinechápu.
Perl neznám a man mi neřekl co je třeba -p. Následující vypadá jako substituce sedu
"s/\0/ /g"a patrně i je, ale fakt nevím co znamená \0
Tedy otázky konkrétně:
1. co je \0 v regexp
2. co je perl -pe
ps. každopádně díky za předcházející radu, pomohla mi.