关于fork()#include #include int main() { time_t t;time(&t);int
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 01:28:05
关于fork()
#include
#include
int main()
{
time_t t;
time(&t);
int flag=fork(),i;
if(flag==0)
{
for(i=0;i
#include
#include
int main()
{
time_t t;
time(&t);
int flag=fork(),i;
if(flag==0)
{
for(i=0;i
原因:sleep(1000)时间过长 ,在子进程没运行完时父进程已经运行完,你可以把1000改成1测试下 会打印三次,但是由于父进程已经运行完,会回到shell下继续输出,其实你sleep(1000) 也能打印三次,不过要等 1000s,你可以用ps 命令查看进程 “./a.out” 的进程一定还在,用 kill -9 + 进程id 可杀死该进程;
如果非要在子进程打印三次每次1000s 可以让父进程等待子进程结束后再结束;
另外:fork一个子进程时,父子进程不一定先运行哪一个,但是在ubuntu系统下大多数时候会先运行父进程,记住不是确定先运行!
再问: 你说的很明白。。我把它改成1就好了。。我是UNIX系统,但是我还想问一下。。如何把上面这些过程整体再循环5次?就是每显示一次Current time:
就显示3次时间。。我自己直接在int flag=fork(),i;那里到最后再加一个循环就先输出5次Current time:再输出15次时间。。如何使得运行一个父进程立刻就运行一个子进程,而不是所有父进程运行完了再运行子进程?多谢了。。
再答: 你说的问题可以实现,但是这么提问(有了问题来提问解决)不是个办法,这样时间太久没效率,建议你看一下进程这块,给你推荐本书吧《UNIX环境高级编程,或者来我的群,号在我个人资料里有
如果非要在子进程打印三次每次1000s 可以让父进程等待子进程结束后再结束;
另外:fork一个子进程时,父子进程不一定先运行哪一个,但是在ubuntu系统下大多数时候会先运行父进程,记住不是确定先运行!
再问: 你说的很明白。。我把它改成1就好了。。我是UNIX系统,但是我还想问一下。。如何把上面这些过程整体再循环5次?就是每显示一次Current time:
就显示3次时间。。我自己直接在int flag=fork(),i;那里到最后再加一个循环就先输出5次Current time:再输出15次时间。。如何使得运行一个父进程立刻就运行一个子进程,而不是所有父进程运行完了再运行子进程?多谢了。。
再答: 你说的问题可以实现,但是这么提问(有了问题来提问解决)不是个办法,这样时间太久没效率,建议你看一下进程这块,给你推荐本书吧《UNIX环境高级编程,或者来我的群,号在我个人资料里有
time()函数#include#includeint main() { time_t t;time(&t);print
fork()问题#include #include #include int main(){ pid_t pid1; p
回文串组判断#include #include #include int main(){int i,j,k,T;scan
怎么只要“时分秒”#include#include #include int main( void ) { time_t
填空题,括号内#include #include #include void main(){ int x,y,t,max
#include int main() { int a[100]; int n,i,j,k,t,m; scanf("%d
#include int main() { int a[150];int m,n,i,j,t; while(scanf(
#include #include void main() { char ch; int a,s,k,t; while(
#include #include void main() { long s,t,sl=1; int d; //clrs
英语翻译#include #include #include int main(int argc,char *argv[
#include #include #include #include int main(){\x05//S:黑桃 H:
#include void fun(int a,int b) {int t; t=a;a=b;b=t; } main()