我在客户端中部署了一个 Python 应用程序。它在“进程”选项卡上的 CPU 列上显示25%。我想知道它是什么意思或它如何影响 CPU?因为大多数进程只有0%。
这是我的任务管理器上实际 CPU 百分比的图像。
我正在运行 Windows 10 64 位。定期(也许每天?),我的机器上会出现以下对话框。
我通常只需单击“确定”并继续。这一次,我运行了进程资源管理器,然后使用对话框上的“查找 Windows 进程”图标来查看涉及哪个进程。这把我带到了一个 dllhost.exe 进程。该进程的命令行包括“/Processid:{3BFADDE5-09ED-42AE-8190-2E68B650CFE6}”,我在注册表中查找,发现它被标识为 CortanaMapiHelper。
1)在线搜索错误消息建议按照它说的做,即将默认邮件关联设置为某事。我几乎这样做了,但是当发生这种情况时,我并没有做任何打算发送电子邮件的事情。我使用 Thunderbird 作为我的电子邮件客户端,发生这种情况时我没有在 Thunderbird 中做任何事情。仔细想想,即使这种方法会删除邮件,这是否意味着有人代表我发送电子邮件?
2) 在线搜索的另一个结果表明 dllhost.exe - 可能是恶意的,但它们似乎与没有明确 /Processid 参数的实例相关联。在这种情况下,它确实并清楚地指示了 Cortana。
3)虽然我有 Cortana 并用它来做提醒,但我真的不把它用于其他任何事情。当然不发送电子邮件。
任何想法/建议/等?定期显示的对话框很烦人,但我想知道这是否是更糟的迹象。
前面:我使用的是 Windows 7 64 位。
所以有时我试图杀死一个进程,但它不会退出。我可以尝试杀死进程或进程结构,但任务管理器不会完成任何事情。网上有几个技巧,比如
taskkill.exe /f /fi "status eq not responding"
Run Code Online (Sandbox Code Playgroud)
但我不会在这里问这是否有效......
有什么技巧可以完全摆脱这些过程吗?
我处理这个问题的原因是因为我有时会运行一个无法正常启动的程序并启动一堆帮助程序,但是没有一个帮助程序显示这些进程,所以我认为只是杀死那些正在运行的进程明显活跃就可以了,尽管看起来它们被卡住了。
感谢一些用户,我尝试通过使用进程资源管理器并关闭句柄/终止进程来解决问题。这也不起作用。如果您有任何其他建议,我会很高兴听到。
我想要实现的是在带有 Debian 的 Raspberry Pi 2 上的它自己的核心上运行一个 python 脚本。可以使用taskset将进程绑定到特定核心。但是我需要这个核心同时不受操作系统和其他进程的负载的影响。我该怎么做?
我的僵尸进程(示例中的 PID 5693)如何拥有像 TCP 端口(示例中的端口 21050,但在我的实际情况中它拥有更多,如 pty 和其他文件描述符)之类的资源?以及如何在不重新启动的情况下释放 TCP 端口?我什至不明白一个进程怎么会处于这种状态(我的意思是,作为一个僵尸并且仍然持有资源)。
[root@mycomputer ~]# ps -fe | grep 5693
user 5693 1 0 Apr03 ? 00:01:12 [myproc] <defunct>
user 5835 5693 0 Apr03 ? 00:00:00 [mysubproc] <defunct>
root 58888 58050 0 17:39 pts/1 00:00:00 grep 5693
[root@mycomputer ~]# lsof | grep 21050
Systemtas 5693 user 15u IPv4 3853742 0t0 TCP *:21050 (LISTEN)
[root@mycomputer ~]#
Run Code Online (Sandbox Code Playgroud) 由于各种原因,我们的应用程序由 3 个进程组成,不能合并为一个进程。这些过程非常严格,因此将它们一起生成和杀死是有意义的。例如,如果其中任何一个死亡,整个系统将无法工作,因此杀死另外两个是有意义的。
这可以在 Linux 中完成吗?
我有一个需要运行多个进程的网站(python、node 等)。我目前创建了一个 systemd 服务,因此我可以轻松启动和停止这些进程。我创建了一个启动脚本,它启动我需要的所有进程作为后台进程(附加&到命令的末尾)。
这使我无法在崩溃时使用 systemd 的自动重启功能,因为所有进程都在单个脚本下启动。
我能想到的一个潜在解决方案是为每个进程创建一个服务,然后通过创建一个主服务将Requires它们链接在一起。我不喜欢这个,因为这意味着我需要为我想要运行的这个网站的每个环境创建 4-5 个服务。
有没有一种方法可以轻松定义启动多个进程并分别监视每个进程的服务?
在 Windows 中,如果我想从命令行列出给定应用程序的所有实例(和窗口标题),我运行以下命令:
tasklist /fi "IMAGENAME eq notepad.exe" /v
Run Code Online (Sandbox Code Playgroud)
但是,对于 LibreOffice 等应用程序,我不能做同样的事情。例如,无论我打开多少个不同的 Writer 窗口,始终只有soffice.bin一个soffice.exe进程。使用该tasklist命令我只能看到一个与soffice.bin进程关联的窗口标题。
Microsoft Wordwinword.exe也会发生同样的事情(只有一个进程存在并且只与一个窗口标题相关联)。
有什么办法可以通过命令行列出此类应用程序的所有窗口标题吗?
我收到了一些说明 Outlook 没有正确关闭,只有在重新启动后才能重新打开 Outlook。一天后,我在我的电脑上发现了同样的事情。所以基本上,我发现的是,在关闭 Outlook 后,该进程没有正确关闭,并且在通知托盘中出现了典型的灰色 Outlook 符号,称为“Outlook 正在关闭”。但是它不会关闭,直到您终止该进程。
现在我在不同的论坛上阅读了一些帖子,人们在旧版 Office 中遇到了相同的问题,但没有一个与我的完全相同。所以我现在被困住了......有人有什么建议吗?
操作系统: Windows 10 专业版,64 位
办公室: 365(展望 2016)
加载项:Zimbra 连接器、敏捷 PLM 但已禁用(!)
感谢所有帮助!
microsoft-outlook email process outlook-addin microsoft-outlook-2016
我知道该命令tasklist能够显示正在运行的进程。
我希望命令行只显示正在运行的应用程序。
Windows 上是否有这样的命令,或者有没有办法通过内置任务列表的过滤器获取此列表?
编辑#1
在Windows Task Manager 中,有一个名为Applications的选项卡(在 Windows 10 中,它位于:Processes > Apps 下)。如何在命令行中获取应用程序的确切列表?
编辑#2
我所说的“应用程序”基本上是打开的窗口名称。正如Edit #1中所述,在Windows 任务管理器中,他们称之为应用程序,因此我使用了这个词。
process ×10
linux ×4
command-line ×2
cpu ×2
windows ×2
batch-file ×1
cortana ×1
cpu-cores ×1
cpu-usage ×1
crash ×1
email ×1
kill ×1
list ×1
python ×1
systemd ×1
task-manager ×1
tcp ×1
virus ×1
windows-10 ×1
windows-7 ×1