标签: process

Unix 上正在运行的进程的环境变量?

我需要解决一些与 Unix 系统上的环境变量相关的问题。

在 Windows 上,我可以使用 ProcessExplorer 之类的工具来选择特定的进程并查看每个环境变量的值。

我怎样才能在 Unix 上完成同样的事情?echoingenvcmd 只显示当前的值,但我想查看正在运行的进程当前使用的值。

linux unix troubleshooting environment-variables process

241
推荐指数
9
解决办法
15万
查看次数

注销后保持Linux进程运行

我正在通过 SSH 连接到一台 Linux 机器,并且我正在尝试运行一个重型 bash 脚本来进行文件系统操作。预计它会持续运行数小时,但由于互联网连接问题,我无法让 SSH 会话保持打开状态。

我怀疑使用后台运算符和符号 ( &)运行脚本是否会奏效,因为我尝试过,后来发现该过程未完成。如何注销并保持进程运行?

linux ssh bash process

145
推荐指数
9
解决办法
11万
查看次数

在顶部显示完整的进程名称

我正在 ubuntu 上运行 Rails 堆栈。

当我 ps -AF 时,我得到了一个由 apache 模块设置的描述性进程名称,例如

00:00:43 Rails: /var/www...

这对于诊断负载问题非常有帮助。

但是当我登顶时,同样的过程简单地显示为

ruby

有没有办法让 ps -AF 进程名称在顶部?

command-line-interface top process ps

123
推荐指数
4
解决办法
12万
查看次数

如何获取刚刚启动的进程的pid

我想启动进程(例如 myCommand)并获取它的 pid(以允许稍后杀死它)。

我试过 ps 并按名称过滤,但我无法按名称区分进程

myCommand
ps ux | awk '/<myCommand>/ {print $2}' 
Run Code Online (Sandbox Code Playgroud)

因为进程名称不是唯一的。

我可以通过以下方式运行进程:

myCommand &
Run Code Online (Sandbox Code Playgroud)

我发现我可以通过以下方式获得这个 PID:

echo $!
Run Code Online (Sandbox Code Playgroud)

有没有更简单的解决方案?

我很乐意执行 myCommand 并通过一行命令获取其 PID。

linux unix bash process pid

99
推荐指数
6
解决办法
21万
查看次数

你如何释放被死进程保持打开的端口?

我的一个同事最近遇到了一个问题,一个应该已经死亡的进程仍然绑定到一个网络端口,阻止其他进程绑定到该端口。具体来说,netstat -a -b正在报告一个名为SystemPID 4476的进程打开了端口 60001,除了不存在具有 PID 4476 的进程,至少据我所知。

进程资源管理器和任务管理器没有列出 PID 4476(尽管还有另一个进程以SystemPID 4命名,它有自己的一组 TCP 连接,不包括 60001)。 taskkill /PID 4476还报告说找不到 PID 4476。

有没有办法杀死这个神秘的系统进程来释放它当前绑定的端口?什么会导致这种情况发生?怎么会有任务管理器、进程资源管理器和 taskkill 都不知道的进程?重新启动设法解决了这个问题,但我想知道是否有办法在不重新启动的情况下解决这个问题。

windows port process zombie

83
推荐指数
3
解决办法
21万
查看次数

如何按进程开始时间对 ps 输出进​​行排序?

有没有办法按进程开始时间对 ps 输出进​​行排序,所以最新的是在顶部或底部?

在 Linux 上?

在 SysV5 上?

在 Mac 上?

linux unix command-line-interface mac-osx process

82
推荐指数
3
解决办法
10万
查看次数

将 linux 进程的内存转储到文件

是否可以将为进程分配的当前内存(通过 PID)转储到文件中?或者以某种方式阅读它?

linux memory process

70
推荐指数
5
解决办法
18万
查看次数

如何防止“ps”报告自己的进程?

$ ps | grep django
28006 ttys004    0:01.12 /usr/bin/python bin/django celeryd --beat
51393 ttys005    0:01.45 /usr/bin/python bin/django celeryd -l INFO
51472 ttys005    0:01.29 /usr/bin/python bin/django celeryd -l INFO
51510 ttys005    0:01.89 /usr/bin/python bin/django celeryd -l INFO
51801 ttys005    0:01.83 /usr/bin/python bin/django celeryd -l INFO
53470 ttys005    0:03.97 /usr/bin/python bin/django celeryd -l INFO
53780 ttys005    0:00.00 grep django
Run Code Online (Sandbox Code Playgroud)

有没有办法防止报告最后一个进程(即与我的 ps 命令同时启动的 grep)?

(我开始尝试想出一个匹配文字但不匹配自身的正则表达式,但这似乎,嗯,不是正确的方法......)

grep process ps

56
推荐指数
6
解决办法
2万
查看次数

您如何记录您的工作、流程和环境?

你使用维基格式吗?如果有,是什么产品?(MediaWiki、Confluence、Sharepoint 等)

您是否创建了知识库?(面向问题/解决方案的简短文档。)

您在创建有效的文档时遇到了哪些挑战,因此您在休假时不会接到电话?

对我来说,我发现完成文档通常涉及一定程度的组织“惯性”。似乎是不同类型的人可以完成一项任务,然后考虑他们如何完成任务并描述它以便其他人可以完成 - 对你来说是一种“变元”的力量,并不是每个人都愿意这样做。

更新

到目前为止的答案包括

  • 合流
  • 维基百科
  • 雾虫
  • Mediawiki(带有 fckeditor 等插件)
  • 共享点
  • 维基百科
  • Word/Excel/Visio 文档
  • 记录的脚本

编辑:你不是用你的监控系统隐式记录你的网络吗?Nagios 一直鼓励使用parent指令来反映您的网络结构,notes_url指令旨在允许您链接到 wiki 或其他基于浏览器的文档。因此,此处的“文档”分为监控系统的“活动文档”和 wiki 中更详细的离线文档。因为我花了很多时间盯着 Nagios,所以努力让它尽可能提供信息是有意义的。

documentation process

48
推荐指数
9
解决办法
9778
查看次数

如何识别 Linux 上哪个进程正在产生 UDP 流量?

我的机器不断发出 udp dns 流量请求。我需要知道的是生成此流量的进程的 PID。

TCP 连接的正常方式是使用 netstat/lsof 并在 pid 处获取关联的进程。

UDP 连接是无状态的,所以,当我调用 netastat/lsof 时,只有当 UDP 套接字打开并且它正在发送流量时,我才能看到它。

我已经尝试过lsof -i UDPnestat -anpue,但我找不到哪个进程正在执行该请求,因为我需要在发送 udp 流量时准确调用 lsof/netstat,如果我在发送 udp 数据报之前/之后调用 lsof/netstat 是无法查看打开的 UDP 套接字。

在发送 3/4 udp 数据包时准确调用 netstat/lsof 是不可能的。

我如何识别臭名昭著的过程?我已经检查了流量以尝试从数据包的内容中识别发送的 PID,但无法从流量的内容中识别它。

任何人都可以帮助我吗?

我在这台机器上 root FEDORA 12 Linux noise.company.lan 2.6.32.16-141.fc12.x86_64 #1 SMP Wed Jul 7 04:49:59 UTC 2010 x86_64 x86_64 x86_64 GNU/Linux

linux traffic udp process

46
推荐指数
4
解决办法
6万
查看次数