看到windows核心编程 第5章的最后一节,发现job lab例子程序不能在我的系统(win8下)正常运行,总是提示“进程在一个作业里”
![](https://i-blog.csdnimg.cn/blog_migrate/250869b188c573cf9e122b9a0d521c68.jpeg)
用process explorer程序查看
![](https://i-blog.csdnimg.cn/blog_migrate/4df0abfce3b8fca997c6235a122d14a7.jpeg)
于是我找到
![](https://i-blog.csdnimg.cn/blog_migrate/2d40c597bce7935908b7f587165e77bd.jpeg)
例子程序源码的这段判断程序,注释后编译运行
![](https://i-blog.csdnimg.cn/blog_migrate/80e18bb587ebd19620ac17ee0407695c.jpeg)
终于进了程序的界面
可是我认为这不是一个好的解决方案
于是去看书的123页下面到124页上的那段话
果然在程序已经关联了作业对象
但是最后,书上说到,一个简单的解决方案是从命令行而不是windows资源管理器中启动调试器,在这种情况下,我们的进程就不会与作业关联
于是取消程序源码里的注释,从命令行启动程序
![](https://i-blog.csdnimg.cn/blog_migrate/3c5f2ead01286f48feb047cdbf7652c7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7e939acf8d5460baf34d7ef23d10b4d5.jpeg)
我意识到到
取消程序源码里对是否关联作业对象的判断是多么愚蠢的行为