| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 861 人关注过本帖
标题:请教杀进程
只看楼主 加入收藏
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
 问题点数:0 回复次数:9 
请教杀进程
我在主函数里面用  _beginthread  起了一个进程A,然后主函数继续做其他事,一段时间后要结束进程A,这时A本身还在执行,有什么办法可以强制把A结束吗?
搜索更多相关主题的帖子: 进程 函数 结束 beginthread 
2008-07-10 11:18
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
举一个最简单的例子,在下面的程序中,如果3秒内没有输入,怎么把InputNumber结束掉?

#include <stdio.h>
#include <process.h>
#include <time.h>

int input;
bool isInput=false;

void InputNumber(void *dummy)
{
    printf("Please input a number:");
    if(scanf("%d", &input) == 1) isInput=true;
}

void Wait(int time)
{
    clock_t start = clock();
    double duration = 0;
    while((duration < time) && (isInput == false))
        duration = (double)(clock() - start)/CLOCKS_PER_SEC;
}

int main()
{
    _beginthread(InputNumber, 0, NULL);
    Wait(3); //Input a number within 3 seconds
    if(isInput) printf("\nThe input number is %d\n", input);
    else printf("\nThere is no input number within 3 seconds!\n");
    return 0;
}
2008-07-10 11:45
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
_endthreadex

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-07-10 11:58
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
另外,使用_beginthreadex而不要_beginthread,_beginthread屏蔽了安全特性

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-07-10 12:06
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
能否给个代码,我知道有那个函数,
但是没有用成功。
2008-07-10 12:08
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
_endthread
是在进程内部自动调用的,当然也可以自己调用,
当我现在是要在进程外部结束进程,
也就实说我是要结束其他进程,而不是自己。

至于安全性,那是以后考虑的问题,暂且不管。
2008-07-10 12:10
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
HANDLE   hThread   =   reinterpret_cast<HANDLE>   (   _beginthreadex(   ...   )   );

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-07-10 12:43
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
一定要用win32?

用C没有办法了吗?
2008-07-10 12:47
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
好象没有,我不知道.但最安全的方式是让它自然地return;

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2008-07-10 12:59
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
唉,
我知道用win32可以做,
用Linux C也可以做,
但是不知道用最简单的C怎么做。

不过还是谢谢你啊。
2008-07-10 13:05
快速回复:请教杀进程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053219 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved