Функция os.Getppid
Функция os.Getppid возвращает идентификатор родительского процесса
текущего процесса в виде целого числа типа int.
Эта функция не принимает никаких параметров и всегда возвращает
PID родительского процесса. Если родительский процесс завершился,
возвращаемое значение может соответствовать PID процесса-усыновителя
(обычно это процесс с PID 1).
Синтаксис
os.Getppid()
Пример
Давайте получим идентификатор родительского процесса текущей программы:
package main
import (
"fmt"
"os"
)
func main() {
res := os.Getppid()
fmt.Println(res)
}
Результат выполнения кода:
12345
Пример
Давайте выведем идентификатор текущего процесса вместе с идентификатором родительского процесса:
package main
import (
"fmt"
"os"
)
func main() {
pid := os.Getpid()
ppid := os.Getppid()
fmt.Printf("PID: %d, PPID: %d\n", pid, ppid)
}
Результат выполнения кода:
"PID: 12345, PPID: 12344"
Пример
Давайте проверим, является ли текущий процесс дочерним по отношению к другому процессу с известным PID:
package main
import (
"fmt"
"os"
)
func main() {
expectedPPID := 1000
actualPPID := os.Getppid()
if actualPPID == expectedPPID {
fmt.Println("Parent process is correct")
} else {
fmt.Printf("Expected PPID: %d, got: %d\n", expectedPPID, actualPPID)
}
}
Результат выполнения кода:
"Expected PPID: 1000, got: 12344"
Смотрите также
-
функцию
os.Getpid,
которая возвращает идентификатор текущего процесса -
функцию
os.Getuid,
которая возвращает идентификатор пользователя текущего процесса -
функцию
os.Getgid,
которая возвращает идентификатор группы текущего процесса -
функцию
os.Hostname,
которая возвращает имя хоста системы