关于进程优先级的问题?

时间:2021-08-22 20:48:34
  写了一个小的程序获取进程的优先级, 但是发现获取的csrss.exe进程的级别为"Normal"而通过"任务管理器"看是"High",请问这是怎么回事?

14 个解决方案

#1


你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!

#2


建议把代码贴出来,让大家帮你分析。

#3


很正常

#4


引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!


很明确的说.任务管理器的优先级就是High。
下次下结论之前先打开任务管理器看一下。
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。

#5


  代码我没有带回家, 在公司的机器上, 功能比较简单, 就是使用toolhelp那一套函数,创建进程快照, 再使用
PROCESS_QUERY_INFORMATION | PROCESS_READ_VM权限来打开进程, 再使用GetPriorityClass来获取进程的优先级.

#6


csrss.exe的优先级是high

#7


我写了个 Snapshot了下 csrss.exe 是高。。。
你自己程序的问题吧。。

#8


引用 4 楼 aaronwang81 的回复:
引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High???? 
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!! 
 

很明确的说.任务管理器的优先级就是High。 
下次下结论之前先打开任务管理器看一下。 
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。

我下结论的时候很正确
请你看好了再说,Thank you!
这基本的操作我还懂呵呵
只是没时间去弄而已。

#9


引用 8 楼 dayong576 的回复:
引用 4 楼 aaronwang81 的回复:
引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!


很明确的说.任务管理器的优先级就是High。
下次下结论之前先打开任务管理器看一下。
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。

我下结论的时候很正确
请你看好了再说…


我仔细比较了一下,只能说,我们都只看到了片面。
不同操作系统结果不一样。
WINDOWS XP 2003,两个都是高。
VISTA csrss.exe是两个低( 两个进程)。而taskmgr.exe是高,低于标准和普通(三个进程)(注意,要显示所有用户进程)
另外,任务管理器优先级为高是有道理的。如果任务管理哭优先级还不够被管理的其他进程高。也许,任务管理器连结束其他进程的机会都没有。

#10


引用 9 楼 aaronwang81 的回复:
引用 8 楼 dayong576 的回复:
引用 4 楼 aaronwang81 的回复: 
引用 1 楼 dayong576 的回复: 
你再看看任务管理器上的优先级真的是High???? 
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!! 


很明确的说.任务管理器的优先级就是High。 
下次下结论之前先打开任务管理器看一下。 
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。 


任务管理器能不能结束其他进程,和优先级没有任何关系,和进程的权限才有关系!
另外楼主你不能正确的获得csrss的优先级,是因为你没有调整权限,你必须要有SE_DEBUG_NAME的权限,才能获划csrss进程的一些数据!

#11


  谢谢了,我明天试试:)

#12


引用 10 楼 hxzmm 的回复:
引用 9 楼 aaronwang81 的回复:
引用 8 楼 dayong576 的回复:
引用 4 楼 aaronwang81 的回复:
引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!


很明确的说.任务管理器的优先级就是High。
下次下结论之前先打开任务管理器看一下。
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以…


又见SE_DEBUG_NAME.
真把这个当万能药了.
结束进程是要求打开进程句柄时有PROCESS_TERMINATE.仅此而已.

#13


当然"任务管理器"的属性准确了。呵呵。

#14


引用 12 楼 aaronwang81 的回复:
引用 10 楼 hxzmm 的回复:
引用 9 楼 aaronwang81 的回复: 
引用 8 楼 dayong576 的回复: 
引用 4 楼 aaronwang81 的回复: 
引用 1 楼 dayong576 的回复: 
你再看看任务管理器上的优先级真的是High???? 
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!! 


很明确的说.任务管理器的优先级就是High。 
下次下结论之前先打开任务管理器看一下。 
在任务管理器里面的进程列表中,右击某个进程,在弹…


又见一个根本就没用过OpenProcess的,你没有SE_DEBUG_NAME的权限,OpenProcess指定PROCESS_TERMINATE肯定打不开lsass这些进程的句柄!

#1


你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!

#2


建议把代码贴出来,让大家帮你分析。

#3


很正常

#4


引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!


很明确的说.任务管理器的优先级就是High。
下次下结论之前先打开任务管理器看一下。
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。

#5


  代码我没有带回家, 在公司的机器上, 功能比较简单, 就是使用toolhelp那一套函数,创建进程快照, 再使用
PROCESS_QUERY_INFORMATION | PROCESS_READ_VM权限来打开进程, 再使用GetPriorityClass来获取进程的优先级.

#6


csrss.exe的优先级是high

#7


我写了个 Snapshot了下 csrss.exe 是高。。。
你自己程序的问题吧。。

#8


引用 4 楼 aaronwang81 的回复:
引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High???? 
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!! 
 

很明确的说.任务管理器的优先级就是High。 
下次下结论之前先打开任务管理器看一下。 
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。

我下结论的时候很正确
请你看好了再说,Thank you!
这基本的操作我还懂呵呵
只是没时间去弄而已。

#9


引用 8 楼 dayong576 的回复:
引用 4 楼 aaronwang81 的回复:
引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!


很明确的说.任务管理器的优先级就是High。
下次下结论之前先打开任务管理器看一下。
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。

我下结论的时候很正确
请你看好了再说…


我仔细比较了一下,只能说,我们都只看到了片面。
不同操作系统结果不一样。
WINDOWS XP 2003,两个都是高。
VISTA csrss.exe是两个低( 两个进程)。而taskmgr.exe是高,低于标准和普通(三个进程)(注意,要显示所有用户进程)
另外,任务管理器优先级为高是有道理的。如果任务管理哭优先级还不够被管理的其他进程高。也许,任务管理器连结束其他进程的机会都没有。

#10


引用 9 楼 aaronwang81 的回复:
引用 8 楼 dayong576 的回复:
引用 4 楼 aaronwang81 的回复: 
引用 1 楼 dayong576 的回复: 
你再看看任务管理器上的优先级真的是High???? 
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!! 


很明确的说.任务管理器的优先级就是High。 
下次下结论之前先打开任务管理器看一下。 
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以看到他现在的优先级。 


任务管理器能不能结束其他进程,和优先级没有任何关系,和进程的权限才有关系!
另外楼主你不能正确的获得csrss的优先级,是因为你没有调整权限,你必须要有SE_DEBUG_NAME的权限,才能获划csrss进程的一些数据!

#11


  谢谢了,我明天试试:)

#12


引用 10 楼 hxzmm 的回复:
引用 9 楼 aaronwang81 的回复:
引用 8 楼 dayong576 的回复:
引用 4 楼 aaronwang81 的回复:
引用 1 楼 dayong576 的回复:
你再看看任务管理器上的优先级真的是High????
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!!


很明确的说.任务管理器的优先级就是High。
下次下结论之前先打开任务管理器看一下。
在任务管理器里面的进程列表中,右击某个进程,在弹出的菜单中选择”设置优先级“就可以…


又见SE_DEBUG_NAME.
真把这个当万能药了.
结束进程是要求打开进程句柄时有PROCESS_TERMINATE.仅此而已.

#13


当然"任务管理器"的属性准确了。呵呵。

#14


引用 12 楼 aaronwang81 的回复:
引用 10 楼 hxzmm 的回复:
引用 9 楼 aaronwang81 的回复: 
引用 8 楼 dayong576 的回复: 
引用 4 楼 aaronwang81 的回复: 
引用 1 楼 dayong576 的回复: 
你再看看任务管理器上的优先级真的是High???? 
要是真的是High就是你程序的问题了,微软不可能出现这种低级错误!!! 


很明确的说.任务管理器的优先级就是High。 
下次下结论之前先打开任务管理器看一下。 
在任务管理器里面的进程列表中,右击某个进程,在弹…


又见一个根本就没用过OpenProcess的,你没有SE_DEBUG_NAME的权限,OpenProcess指定PROCESS_TERMINATE肯定打不开lsass这些进程的句柄!