我正在寻找一种方法,让用户启动仅运行指定时间(例如一个小时)的 Windows 应用程序。一小时结束后,将弹出一个警报窗口,显示“程序将在五分钟内终止,除非您单击此处”。如果用户单击该按钮,程序将再运行一个小时,然后再次弹出警报。
如果没有简单的方法来完成此操作,那么我愿意让程序在给定时间后终止,而不弹出警告。
理想情况下,该方法应在 Windows XP 和 Windows 7 下运行。
我注意到 IE 偶尔会将多个选项卡组合到一个进程中。不幸的是,这最终会自我毁灭,因为我通常打开的所有 10-12 个选项卡最终只在一两个进程上结束,这反而违背了多进程浏览器的目的。
我目前的“解决方案”是杀死剩余的进程并让自动选项卡恢复启动并在最后一个进程死亡时创建新进程。然而,这似乎有点野蛮和不便,尤其是在重复几次此过程后,大多数选项卡都出现“无法将您返回 X”,因为总体上“崩溃”了多次。
有没有办法强制 IE 为每个选项卡保留一个进程?
如果端口已知,如何终止进程?例如,如果一个进程正在端口上运行,12345那么它如何在 linux/ubuntu 中终止。
我在 Red Hat EL 5.6 机器上偶然发现了一些我无法理解的非常令人惊讶的事情:用户hri(在dba组中)能够杀死用户oracle(也在dba组中)拥有的进程。
有没有人能够解释什么会允许非特权用户杀死另一个用户的进程?即使编写 Oracle 进程来处理信号,我认为进程也无法捕获 SIGKILL(9)。
下面是一个会话日志,显示了这一点。
OracleServer:/home/hri> export ORACLE_SID=HRIXXXDW
OracleServer:/home/hri> sqlplus / as sysdba
SQL*Plus: Release 10.2.0.5.0 - Production on Thu Dec 12 17:30:56 2013
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup
ORA-09925: Unable to create audit trail file
Linux-x86_64 Error: 13: Permission denied
Additional information: 9925
SQL> Disconnected
OracleServer:/home/hri> ps auxf | grep HRIXXX
hri 28295 0.0 0.0 …Run Code Online (Sandbox Code Playgroud) 我试图通过 Windows 命令行找出一种方法来确定进程是否没有父进程。
我知道所有进程在技术上都有一个由操作系统或其他任何东西控制的父进程,但为了简单起见,它“没有父进程”。例如,如果您打开一个资源管理器窗口,它将显示在进程资源管理器中进程树的顶部。
但是,当我对进程进行 wmic 查询时,我得到了“parentProcessPID”的 PID。当我尝试使用任务列表查找该 PID 时,它说无法识别 PID。我看过几个这样的进程,它们似乎有不同的父进程,这些进程都无法通过任务列表访问。如果一个进程有一个无法通过任务列表访问的父进程,这是否意味着它位于其进程树的“顶部”?
我问是因为我试图区分自己运行的程序和作为另一个程序的子进程运行的同一个程序。
例如:
假设我进入 Windows 开始菜单并打开一个资源管理器窗口。然后,我打开一个 cmd 窗口并输入:explorer.exe. 我现在有两个 explorer.exe 进程。一个是 cmd.exe 的子进程,一个是独立进程。我希望能够通过 wmic 或 tasklist 查询,挑出explorer.exe作为独立进程的所有进程。因此,应该返回我通过 Windows 开始菜单启动的进程,而不是 cmd.exe 启动的进程。
我遇到了每个进程都有一个父进程 ID 的问题,我不知道如何区分来自程序的父进程或来自与操作系统相关的进程的父进程。如果我能做到以下几点,那就太好了:
伪代码:
wmic process where name=explorer.exe get parentProcessID,processID
tasklist /fi "PID eq <parentProcessID>" 2>&1> log.txt
if(log.txt contains "INFO: No tasks are running which match the specified criteria."){
// Parent PID is not recognized by tasklist
// Do something
}
Run Code Online (Sandbox Code Playgroud)
但我不确定我的逻辑是否正确。
我希望能够在命令行中获得每个进程的线程数,并获得与我可以通过活动监视器看到的完全相同的数量。
目前 IntelliJ IDEA 进程(PID 5235)有 266 个线程。我想通过命令行获取这个数字。
我试过了
lsof -p 5235 | wc -l
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我启动了一个无法运行的应用程序,但我无法删除它,因为它仍在运行。我可以打印 PID,但不能使用它终止进程。
~ $ ps ax | grep snappr | awk '{print $1}'
70824
~ $ kill $(ps ax | grep snappr | awk '{print $1}')
-bash: kill: (70832) - No such process
Run Code Online (Sandbox Code Playgroud) 我最近发现了一个名为noms.exe 的进程,它在机器上运行并最大化了一个 CPU 内核。
我已经完成了所有通常的步骤,试图收集有关该过程的信息,但对我能找到的信息如此之少感到惊讶。
所以到目前为止我所知道的:
在互联网上搜索“noms.exe”和“geianoms”关键字并没有产生任何有用的结果,除了其他人搜索过类似/相同文件的事实。
有谁知道那可能是什么?任何意见,将不胜感激。
我试图阻止Microsoft 文本输入应用程序启动。进程名称:“TextInputHost.exe”。我知道它在屏幕键盘后面。但是我不用这个!尽管如此,它还是会在 Windows 启动后启动。我使用的是 Windows 10 Pro x64 20H2,但这困扰了我很长时间!
目标:正确禁用它,因为您可以重命名文件夹 - 但它会在事件查看器中生成错误。
我试过的:
首先,我尝试 通过在末尾添加.bak来重命名“MicrosoftWindows.Client.CBS_cw5n1h2txyewy”。这会阻止启动。然而,这并不是禁用 Windows 应用程序的最佳方式。它可能会产生一些问题!我相信这可以通过编辑一些隐藏的注册表值来禁用。问题是找到它!
因为我对“GameBarPresenceWriter.exe”有类似的问题。它从任何游戏发布开始。甚至在每个可能的位置都禁用了 GameDVR 和 Gamebar!然后我在 minitool.com 上找到了一些隐藏的注册表项。这让我可以禁用它!
我也试过:
我在 AMD 上使用 Ubuntu 9.04 64 位。当某些进程的 CPU 使用率 % 进入“磁盘睡眠”时,它会定期挂起几分钟。在那段时间里,我无法启动新程序,桌面上的大多数程序都没有响应。
我宁愿它没有挂起并且我的应用程序保持可靠的响应。为什么会发生这种情况,我该如何阻止?