是否可以使用PID获取进程的文件名?ps 显示了很多关于进程的有用信息,但不显示进程可执行文件位置的提示。
我正在尝试使用 pidof 或 pgrep 将 HUP 发送到我系统中的进程。问题是我只想用一个精确的参数来终止进程。
这是'ps awx'的输出
657 ? S 0:00 processname software
658 ? S 0:00 processname demo
659 ? S 0:00 processname test
Run Code Online (Sandbox Code Playgroud)
通过执行以下操作之一:
pidof processname
pgrep processname
Run Code Online (Sandbox Code Playgroud)
您将获得以 processname 开头的所有进程的列表,但我想执行以下操作:
pidof processname test
pgrep processname test
Run Code Online (Sandbox Code Playgroud)
仅检索我需要的 PID(在本例中为 659)
更新
通过在 pgrep 上使用 -f 标志可以完成我想要的操作:
pgrep -f "processname test"
Run Code Online (Sandbox Code Playgroud)
你会得到正确的答案。
与构建软件类似,应该使用工具来部署生产服务器更新(无论是数据库、网站、路由器配置等)。工具的使用减少了某些类型的人为错误(例如遗漏的步骤)。
请
不要添加已经存在的工具 - 如果您对给定的答案有什么特别想说的,请添加评论。
-亚当
我不熟悉如何在 Windows 中杀死进程。在 Linux 中,“热”终止发送信号 (15),进程可以通过实例化信号处理程序来处理该信号。冷终止是操作系统通过强制终止进程来处理的信号 (9)。
如何在 Windows 中“杀死”一个进程?操作系统和进程如何处理它?操作系统执行哪些操作?是否有响应终止/关闭请求的跨平台方式?
XYZ进程打开的文件可以通过命令找到
ls -l /proc/PID/fd
Run Code Online (Sandbox Code Playgroud)
无论如何,是否可以以更具交互性的方式完成,例如tail每 x 秒自动刷新一次?
我有一个 linux 应用程序,它不断地将日志信息写入日志文件,例如。/var/log/application.log. 由于应用程序不会自动旋转文件,此日志文件可能会在几周内达到 GB 大小,因此我希望能够正确旋转此文件
我在这里主要担心的是,要始终旋转由应用程序打开的文件,我可能需要:
将文件移动到其旋转形式 /var/log/application.log -> /var/log/application.log.2013-01-28
创建一个空的/var/log/application.log. obs:此时申请进程还在写入/var/log/application.log.2013-01-28
将应用程序进程的文件描述符更改为再次指向 /var/log/application.log
那么,我说得对吗?如果是这样,我该怎么做?(主要是改变文件描述符部分)
如果我不是,正确的方法是什么以及如何去做?
我们有一个我们怀疑已经在工作中扎根的盒子。问题是我们如何找到它?我不是系统管理员,但我被带到团队来解决这个问题,我很好奇在哪里可以找到诸如问题之类的好地方?
我们怀疑这一点的原因是我们注意到机器上来自高(似乎是随机的)端口的网络利用率高于正常情况。
我们可以做什么来定位问题儿童?我们可以做些什么来防止将来发生这种情况?是否有监控可以让我们在未来意识到这一点?(除了我们已经在密切关注的网络监控。)
提前致谢,如果需要,我可以提供更多详细信息。珍惜你的时间。
是否有任何实用程序可以限制进程启动后的网络吞吐量?简单示例:您注意到用户使用 scp 占用了您所有的上传带宽,并且您想限制速率或降低传输的优先级。
我想我可以使用 iptables/tc 或 pf 的组合来实现这一点,但我想知道是否有可用的“一次性”工具(例如带有 --pid 选项的涓流 ^^)?
我发出^z; bg; disown序列是为了允许我关闭一个 ssh 会话,在该会话中我正在运行一个非常重要的长时间运行的进程。此进程将状态输出写入 stderr,并且即使在分离后它仍会继续这样做(使用 lsof 验证,stderr fd 对 r/w 是开放的)。
有没有办法确定该进程确实已被否认(如果 shell 接收一个,则不会接收 SIGHUP)?
在 Ubuntu 10.04 上,我需要使用 upstart 启动我的服务,但前提是 mysql 启动并运行。
问题是 mysql 本身不是由 upstart 处理的,所以我不能使用“启动”功能。
我能做什么 ?