哪个用户正在运行Tomcat?

我在Amazon EC2上运行着一个Tomcat 7服务器(操作系统为Ubuntu 12 LTS)。我该如何找出在Amazon EC2上运行Tomcat的用户是谁?
2个回答

运行以下命令以查找Tomcat进程。
ps auxwww | grep -v grep | grep tomcat 

从那里你将找出tomcat进程,从那里你可以看到哪个用户启动了它。

例如,查看以下输出:

vidyadhar@ubuntu:~$ ps auxwww | grep -v grep | grep tomcat
root      1941  0.2  1.7 419224 35208 ?        Sl   Aug12   0:06 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

在上面的例子中,1941 是由 root 用户启动的一个 tomcat 进程。
如果你想查看所有用户,请运行以下命令。
more /etc/passwd

1我建议在将 ps ... 的输出导入到 grep -v grep 之前,先导入到 grep tomcat 中(而不是之后)。通过先导入到 grep -v grep,你可以看到来自 grep tomcat 命令的匹配文本的有用高亮显示(因为只有最后一个 grep 命令的高亮显示会被保留)。 - Eliah Kagan

使用pgrep命令:根据名称和其他属性查找、发送信号或等待进程。
pgrep -fa tomcat