Функция syscall.Getpid

Функция syscall.Getpid возвращает числовой идентификатор текущего процесса (PID). Этот идентификатор уникален в рамках операционной системы и может быть использован для управления процессом, отправки сигналов или ведения логов. Функция не принимает никаких параметров и всегда возвращает значение типа int.

Синтаксис

gopid := syscall.Getpid()

Пример

Получим идентификатор текущего процесса и выведем его:

gopackage main

import (
  "fmt"
  "syscall"
)

func main() {
  pid := syscall.Getpid()
  fmt.Println(pid)
}

Результат выполнения кода:

go"12345"

Значение может отличаться в зависимости от системы, но всегда является целым числом.

Пример

Используем полученный PID для формирования сообщения в логе:

gopackage main

import (
  "fmt"
  "syscall"
)

func main() {
  pid := syscall.Getpid()
  fmt.Printf("Process with PID %d started\n", pid)
}

Результат выполнения кода:

go"Process with PID 12345 started"

Смотрите также

  • функцию os.Getpid,
    которая предоставляет аналогичный функционал из пакета os
  • функцию os.Getppid,
    которая возвращает идентификатор родительского процесса
  • функцию syscall.Getenv,
    которая получает значение переменной окружения
  • функцию syscall.Kill,
    которая отправляет сигнал процессу по его идентификатору