English 中文(简体)
c/unix:耗时太久的协商进程
原标题:c/unix: abort process that runs for too long

我需要杀死这种使用过程,这些使用过程需要的时间比UNIX(Solaris)操作系统的预期间隔时间长。 需要在目前正在执行的进程中这样做。

请建议如何在C或UNIX做到这一点?

最佳回答

alarm( system calls。 它向您提供贵国可以处理并用于填写的<代码>SIGALRM信号。

问题回答

只要在无警告的情况下杀人,加班过程是可以接受的,一种替代办法是,在启动程序时使用<条码>限制――t <time>。

有了<代码>setrlimit,你可以限制该过程所用的CPU时间。 一旦超过限额,你将获得<代码>SIGXCPU。

#include <sys/resource.h>
struct rlimit limits = {42, RLIM_INFINITY};
setrlimit(RLIMIT_CPU, &limits);

我必须同时解决这一完全相同的问题。

我的解决办法如下:

起草控制员方案,其内容如下:

  1. Fork a child process that starts the process you want to control.
  2. Back in the parent, fork a second child process that sleeps for the maximum time allowed and then exits.
  3. In the parent, wait for the children to complete and whichever finishes first causes the parent to kill the other.




相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签