2010-11-29 4 views
0

Je fais unRediriger la sortie AWK en entrée à GDB

ps | grep process_name | awk '{if ($2 == "process_name") {print $1} }' 

qui affiche le id_processus pour le nom du processus

Après que je fais gdb -p process_id. Je veux combiner ces deux déclarations en une seule déclaration. Aucune suggestion ?

ps | grep process_name | awk '{if ($2 == "process_name") {print $1} }' 

Sortie: PROCESS_ID

gdb -p process_id 
+0

Votre commande awk peut être simplifiée awk « $ 2 ==" process_name "{print $ 1} ' –

Répondre

0

Pas besoin de grep ou awk ou d'autres commandes externes. C'est ce que pgrep est fait pour:

PID=$(pgrep process_name) && gdb -p $PID 
0

Si vous utilisez le shell bash, vous pouvez réellement utiliser la substitution variable:

gdb -p $(pgrep process_name)