亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 11812 | 回復(fù): 6
打印 上一主題 下一主題

Perl的sleep函數(shù)問題請教 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2007-02-01 15:11 |只看該作者 |倒序瀏覽
在測試父進程向子進程發(fā)信號的時候,發(fā)現(xiàn)子進程的sleep函數(shù)的時間消逝不正確,干脆就是沒什么用,但是父進程里面的sleep沒有問題,請問是哪里出錯了呢?代碼如下:

#!/usr/bin/perl -w
# Test signals to child processes using kill.
use warnings;
use strict;
use POSIX qw(:signal_h :errno_h :sys_wait_h);

$SIG{ 'USR1' } = \&user1;

$| = 1;

sub user1
{
        $SIG{ 'USR1' } = \&user1;
        print("I've recvd SIGUSER1.\n");
}


if(my $pid = fork() ) {
        kill('USR1', $pid);
         print("I've just sent a signal.\n");
        sleep(3);
        print("Now, I'm going to send once more.\n");
        kill('USR1', $pid);
        print("Parent exit.\n");
}
elsif (defined($pid)) {
        print("My return pid is $pid, and my real pid is $$.\n");
        sleep(6);
        print("Kid exit.\n");
        exit();
}
else {
        print("Forking error...!\n");
}

wait();


運行結(jié)果是Kid很快就先打印退出,根本沒有sleep.

論壇徽章:
0
2 [報告]
發(fā)表于 2007-02-01 15:20 |只看該作者
你讓小孩睡覺,但是馬上就殺了他……

論壇徽章:
0
3 [報告]
發(fā)表于 2007-02-01 15:24 |只看該作者
原帖由 dajun 于 2007-2-1 15:20 發(fā)表
你讓小孩睡覺,但是馬上就殺了他……

樓上的兄弟能否說明白一點呢?Kid收到USR1只是會打印下吧?

論壇徽章:
0
4 [報告]
發(fā)表于 2007-02-01 15:26 |只看該作者
還是說Kid收到USR1以后的系統(tǒng)調(diào)用不能返回?

論壇徽章:
0
5 [報告]
發(fā)表于 2007-02-01 15:30 |只看該作者

明白了

嗯,原來跟Linux C的IPC一樣的道理。剛才受誤導(dǎo)了,謝謝2樓兄弟。

論壇徽章:
0
6 [報告]
發(fā)表于 2007-02-01 16:08 |只看該作者
sorry,真是慚愧,我看的時候大意了,沒看到你注冊信號函數(shù)的那個地方,
現(xiàn)在我倒是糊涂了……

你的程序并不是每次運行都一樣的結(jié)果的:

[root@rh39 mnt]# perl 1.pl

My return pid is 0, and my real pid is 11321.
I've just sent a signal.
I've recvd SIGUSER1.
Kid exit.

[root@rh39 mnt]# perl 1.pl

My return pid is 0, and my real pid is 11323.
I've just sent a signal.
I've recvd SIGUSER1.
Kid exit.

[root@rh39 mnt]# perl 1.pl
I've just sent a signal.

My return pid is 0, and my real pid is 11325.
I've recvd SIGUSER1.
Now, I'm going to send once more.
Parent exit.
I've recvd SIGUSER1.
Kid exit.

論壇徽章:
0
7 [報告]
發(fā)表于 2007-02-01 16:14 |只看該作者
原帖由 jacksting 于 2007-2-1 15:30 發(fā)表
嗯,原來跟Linux C的IPC一樣的道理。剛才受誤導(dǎo)了,謝謝2樓兄弟。

c下好像也不會被殺死的(如果反復(fù)注冊信號函數(shù)的話)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP