如何在Linux中列出机器名和运行程序列表?

时间:2017-02-16 18:05:03

标签: linux bash shell sh

我有一个shell脚本来检查Firefox是否在我的Linux机器上运行,如;

ps -ef|grep firefox

这将列出在我的机器上运行的所有firefox实例,显示它们的PID,以便我可以手动杀死它们。我的问题是,是否可以在此列表中显示机器名称?如果有多个实例,则每行还应包含计算机名称(或IP)。在我的shellcript中,我做了类似的事情;

hostname
ps -ef|grep firefox

返回主机名一次,下面列出多个实例。如何打印机器名称(或IP)以及每一行?

2 个答案:

答案 0 :(得分:1)

这样做:

ps -ef | grep [f]irefox | xargs -I{} echo "$(hostname) {}"

注意firefox中'f'周围的括号。这可以防止您的grep命令显示在结果中。

答案 1 :(得分:1)

像这样:

ps -ef | egrep '[/ ]firefox' | sed "s/^/$(hostname -s) : /"