找回密码
 新注册用户
搜索
查看: 4885|回复: 8

系统PID异常

[复制链接]
发表于 2007-12-17 00:05:22 | 显示全部楼层 |阅读模式
今天下午开始,用windows自带的进程管理器查看,发现好多进程PID大的吓人,上了6-7W
但是系统没什么异常,貌似运行也没变慢

后来重启了下,基本又正常
刚才准备开了驴子去睡觉,发现又有好几个PID上W了...
untitled.JPG
回复

使用道具 举报

发表于 2007-12-17 09:00:38 | 显示全部楼层
是不是很久没关过机?
回复

使用道具 举报

发表于 2007-12-17 10:43:52 | 显示全部楼层
“PID是系统给活动进程的一个序列号,用以区分进程。”
这样的话无所谓大小了,反正就是标识。


http://topic.csdn.net/t/20010729/18/214563.html

ProcessID就是下面函数的返回值。  
  使用CreateProcess函数  
  (1) LPCTSTR   lpApplicationName  
  想运行的可执行文件的名字的字符串(应含扩展名)。如果找不到该文件,CreateProcess运行失败。应该设为NULL。  
  (2) LPTSTR   lpCommandLine  
  传递给新进程的命令行字符串,应当为非常量字符串的地址。可以设定一个完整的命令行,如果第一个标记没有扩展名,CreateProcess将其假设为.exe。如果找不到该文件,CreateProcess按环境设置目录搜索运行。  
  (3) LPSECURITY_ATTRIBUTES   
    设定进程对象的安全性。可以为这些参数传递NULL,在这种情况下,系统为这些对象赋予默认安全性描述符。   (不明白)  
  (4) LPSECURITY_ATTRIBUTES   lpThreadAttributes  
  设定线程对象的安全性。可以为这些参数传递NULL,在这种情况下,系统为这些对象赋予默认安全性描述符。   (不明白)  
  (5) BOOL   bInheritHandles  
  决定子进程对父进程继承性,一般设为FALSE。  
  (6) DWORD   dwCreationFlags  
  用于标识标志,以便用于规定如何来创建新进程。  
  标志 说明  
  EBUG_PROCESS 父进程想要调试子进程和子进程将来生成的任何进程。当任何子进程(被调试进程)中发生某些事件时,将情况通知父进程。   (不明白)  
  DEBUG_ONLY_THIS_PROCESS 与DEBUG_PROCESS标志相类似,调试程序只被告知紧靠父进程的子进程中发生的特定事件。   (不明白)  
  CREATE_SUSPENDED 新进程被创建,但是,它的主线程则被挂起。  
  DETACHED_PROCESS 阻止基于CUI的进程对它的父进程的控制台窗口的访问,并告诉系统将它的输出发送到新的控制台窗口。  
  CREATE_NEW_CONSOLE 为新进程创建一个新控制台窗口。如果同时设定CREATE_NEW_CONSOLE和DETACHED_PROCESS标志,就会产生一个错误。  
    CREATE_NO_WINDOW 不为应用程序创建任何控制台窗口。  
  CREATE_NEW_PROCESS_GROUP 修改用户在按下Ctrl+C或Ctrl+Break键时得到通知的进程列表。  
  CREATE_DEFAULT_ERROR_MODE 不继承父进程使用的错误模式。  
  CREATE_SEPARATE_WOW_VDM 只能当你在Windows2000上运行16位Windows应用程序时使用。告诉系统创建一个单独的DOS虚拟机(VDM),并且在该VDM中运行16位Windows应用程序。   (不明白)  
  CREATE_SHARED_WOW_VDM 只能当你在Windows2000上运行16位Windows应用程序时使用。在系统的共享VDM中运行16位Windows应用程序。   (不明白)  
  CREATE_UNICODE_ENVIRONMENT 告诉系统,子进程的环境块应该包含Unicode字符。按照默认设置,进程的环境块包含的是ANSI字符串。  
  CREATE_FORCEDOS 强制系统运行嵌入16位OS/2应用程序的MOS-DOS应用程序。  
  CREATE_BREAKAWAY_FROM_JOB 使作业中的进程生成一个与作业相关联的新进程   (不明白)。  
  IDLE_PRIORITY_CLASSBELOW_NORMAL_PRIORITY_CLASSNORMAL_PRIORITY_CLASSABOVE_NORMAL_PRIORITY_CLASSHIGH_PRIORITY_CLASSREALTIME_PRIORITY_CLASS 空闲低于正常(Windows2000)正常高于正常(Windows2000)高实时  
  对于大多数应用程序来说不应该设定优先级类。  
  (7) LPVOID   lpEnvironment  
  指向包含新进程将要使用的环境字符串的内存块。在大多数情况下,为该参数传递NULL,使子进程能够继承它的父进程正在使用的一组环境字符串。也可以使用 GetEnvironmentStrings函数当不再需要该内存块时,应该调用FreeEnvironmentStrings函数将内存块释放。  
  (8) LPCTSTR   lpCurrentDirectory  
    设置子进程的当前驱动器和目录。如果本参数是NULL,则新进程的工作目录将与生成新进程的应用程序的目录相同。如果本参数不是NULL,那么必须指向包含需要的工作驱动器和工作目录的以0   结尾的字符串。注意,必须设定路径中的驱动器名。  
  (9) LPSTARTUPINFO   lpStartupInfo  
  使用时应首先进行初始化。  
  成员 窗口/控制台 作用  
  cb 两者兼有 用作版本控制手段。必须初始化为sizeof(STARTUPINFO)  
  lpReserved 两者兼有 保留。必须初始化为NULL   (不为NULL也可以)  
    lpDesktop 两者兼有 标识启动应用程序所在桌面的名字。如果桌面不存在,便创建一个带有默认属性的桌面,并使用为新进程指定的名字。其值为NULL时,与当前桌面相关联。   (不明白)  
  lpTitle 控制台 设定控制台窗口的名称。其值为NULL,则把可执行文件的名字用作窗口名。  
    dwXdwY 两者兼有 设定应用程序窗口在屏幕上的位置(以像素为单位)。只有当子进程用CW_USEDEFAULT作为CreateWindow的x参数来创建它的第一个重叠窗口时,才使用这两个坐标。  
  dwXSizedwYsize 两者兼有 设定应用程序窗口的宽度和长度(以像素为单位)只有当子进程将CW_USEDEFAULT用作CreateWindow的nWidth参数来创建它的第一个重叠窗口时,才使用这些值。  
  dwXCountCharsdwYCountChars 控制台 设定子应用程序的控制台窗口的宽度和高度(以字符为单位)  
  dwFillAttribute 控制台 设定控制台窗口的文本和背景颜色  
  dwFlags 两者兼有 后面以表格说明。  
  wShowWindow 窗口 设定如果子应用程序初次调用的ShowWindow将SW_SHOWDEFAULT作为nCmdShow参数传递时,该应用程序的第一个重叠窗口应该如何出现。  
  cbReserved2 两者兼有 保留。必须被初始化为0   (非0也可以)  
  lpReserved2 两者兼有 保留。必须被初始化为NULL   (为什么)  
  hStdInputhStdOutputhStdError 控制台 设定控制台输入输出缓存的句柄。照默hStdInput标识键盘缓存,hStdOutput和hStdError标识控制台窗口缓存。  
  dwFlags使用方法:  
  标志 含义  
  STARTF_USESIZE 使用dwXSize和dwYSize成员  
  STARTF_USESHOWWINDOW 使用wShowWindow成员  
  STARTF_USEPOSITION 使用dwX和dwY成员  
  STARTF_USECOUNTCHARS 使用dwXCountChars和dwYCountChars成员  
  STARTF_USEFILLATTRIBUTE 使用dwFillAttribute成员  
  STARTF_USESTDHANDLES 使用hStdInput、hStdOutput和hStdError成员  
  STARTF_RUN_FULLSCREEN 强制在x86计算机上运行的控制台应用程序以全屏幕方式运行  
  STARTF_FORCEONFEEDBACK 启动进程时,临时将系统的箭头光标改为沙漏箭头光标。  
  STARTF_FORCEOFFFEEDBACK 启动进程时,不将光标改为沙漏。  
  (10) LPPROCESS_INFORMATION   lpProcessInformation  
    新进程的返回信息。hProcess为新进程内核对象的句柄;hThread为新线程内核对象的句柄。在使用后应当用CloseHandle释放,使该内核的使用计数减一。dwProcessId新进程ID号;dwThreadId新线程ID号。0不能为ID号。虽然系统不会同时有相同的ID号,但是当一个进程的内核句柄被释放后其ID号又可能被新的进程使用。若要确保进程ID或线程ID不被重复使用,唯一的方法是保证进程或线程的内核对象不会被撤消。如果刚刚创建了一个新进程或线程,只要不关闭这些对象的句柄,就能够保证进程对象不被撤消。一旦应用程序结束使用该ID,那么调用CloseHandle就可以释放内核对象,要记住,这时使用或依赖进程ID,对来说将不再安全。如果使用的是子进程,将无法保证父进程或父线程的有效性,除非父进程复制了它自己的进程对象或线程对象的句柄,并让子进程继承这些句柄。
回复

使用道具 举报

 楼主| 发表于 2007-12-17 11:19:28 | 显示全部楼层
还是觉得异常
一般PID被释放后就可以给新的程序使用了
上W了说明至少同时有了上W的进程使用过
不会是病毒了吧...
卡巴没什么反映...
回复

使用道具 举报

发表于 2007-12-17 11:33:22 | 显示全部楼层
你的 PID 好像在 2000-6000段 断层了。。。

回复

使用道具 举报

发表于 2007-12-17 17:04:36 | 显示全部楼层
原帖由 Lightalt 于 2007-12-17 00:05 发表
今天下午开始,用windows自带的进程管理器查看,发现好多进程PID大的吓人,上了6-7W
但是系统没什么异常,貌似运行也没变慢

后来重启了下,基本又正常
刚才准备开了驴子去睡觉,发现又有好几个PID上W了... ...

看了圖後有個疑問
Process 很多使用者是"空白的"
不該是"system" <--這使用者嗎 ?
回复

使用道具 举报

 楼主| 发表于 2007-12-17 17:51:52 | 显示全部楼层
原帖由 alexpon 于 2007-12-17 17:04 发表

看了圖後有個疑問
Process 很多使用者是"空白的"
不該是"system"  

这个我也没怎么注意,貌似一直都是这样的...
回复

使用道具 举报

 楼主| 发表于 2007-12-17 18:03:40 | 显示全部楼层
有个关键的细节忘记了
这样的情况是在我用 HD TUNE 2.53汉化版对硬盘进行了扫描后出现的

  1. ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

  2.                   ☆  HD Tune 2.53 汉化版  ☆
  3. ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

  4. 软件名称:HD Tune
  5. 软件版本:2.53
  6. 软件类型:免费
  7. 使用平台:Windows 2000/Windows XP/Windows XP 64-bit/Windows 2003 Server/Windows Vista
  8. 软件汉化:昆子
  9. ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

  10. 【软件简介】

  11.   HD Tune 是一款硬盘性能诊断测试工具。它能检测硬盘的传输率、突发数据传输率、数据访问时间、CPU 使用率、健康状态,温度及扫描磁盘表面等。另外,还可详细检测出硬盘的固件版本、序列号、容量、缓存大小以及当前的传送模式等。
  12. ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁

  13. ★注意: 并不是所有硬盘都能报告温度!
  14. ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
复制代码
回复

使用道具 举报

发表于 2007-12-17 21:10:49 | 显示全部楼层

回复 #8 Lightalt 的帖子

一般情況下我都不用所謂的漢化版軟件....誰知道內在如何啊?信不過.....
查個毒啊或者hijack一下,360安全衛士也可以救救急.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2025-4-22 05:59

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表