每n秒更改PID的程序

时间:2016-03-20 10:51:24

标签: c

我是C系统编程的新手。

这里我尝试编写一个程序,每隔(n = 2)秒更改一次PID。但是在编译时,我每次都得到相同的PID。 PID永远不会改变。有人有想法吗?

这是我的代码:

Sub RemoveSurroundingSingleQuotes()
    Dim arr() As Variant
    Dim wrd As String
    Dim iStart As Long
    Dim iEnd As Long

    arr = Array("'wrd1'", "''wrd3''")

    For i = LBound(arr) To UBound(arr)
        wrd = arr(i)
        Debug.Print "word before: " & wrd

        iStart = 1
        iEnd = Len(wrd)
        Do While Mid(wrd, iStart, 1) = "'" And iStart < iEnd
          iStart = iStart + 1
        Loop

        Do While Mid(wrd, iEnd, 1) = "'" And iEnd > iStart
          iEnd = iEnd - 1
        Loop

        wrd = Mid(wrd, iStart, iEnd - iStart + 1)
        Debug.Print "word after: " & wrd & vbCr & "--------------"
    Next
End Sub

2 个答案:

答案 0 :(得分:3)

PID不变的原因是因为进程pid永远不会改变。并且在检查PID的值时,代码始终在父进程中。

现在,每个子进程都将收到自己的PID。您可以让孩子在退出前获取/显示其PID。

答案 1 :(得分:1)

这个

else if (fils ==0 ){
    //<- here
    //printf("my pid is %d\n", getpid());
           exit(0);  
}

是您已分拆的新流程的范围。

您可以将此范围视为其自身的main,并且此范围将在具有其自己的pid的不同流程中运行。

(您可能需要_exit而不是exit来防止双重刷新stdio个缓冲区。(子进程获取副本))