Функция os.Getpid
Функция os.Getpid возвращает идентификатор (PID) текущего процесса в виде целого числа типа int. Этот идентификатор назначается операционной системой при запуске программы и может использоваться для идентификации процесса в системных вызовах, логировании или взаимодействии с другими процессами. Функция не принимает никаких параметров.
Синтаксис
os.Getpid()
Пример
Давайте получим идентификатор текущего процесса и выведем его в консоль:
package main
import (
"fmt"
"os"
)
func main() {
pid := os.Getpid()
fmt.Println(pid)
}
Результат выполнения кода (значение будет отличаться в зависимости от системы):
"12345"
Пример
Давайте используем PID для создания уникального идентификатора в логах:
package main
import (
"fmt"
"os"
)
func main() {
pid := os.Getpid()
message := fmt.Sprintf("[PID:%d] Application started", pid)
fmt.Println(message)
}
Результат выполнения кода:
"[PID:12345] Application started"
Пример
Давайте проверим, что PID остается неизменным в течение всей работы программы:
package main
import (
"fmt"
"os"
"time"
)
func main() {
pid1 := os.Getpid()
time.Sleep(1 * time.Second)
pid2 := os.Getpid()
if pid1 == pid2 {
fmt.Println("PID is stable")
}
}
Результат выполнения кода:
"PID is stable"
Смотрите также
-
функцию
os.Getppid,
которая возвращает идентификатор родительского процесса -
функцию
os.Getuid,
которая возвращает идентификатор пользователя текущего процесса -
функцию
os.Getgid,
которая возвращает идентификатор группы текущего процесса -
функцию
os.Exit,
которая завершает текущий процесс с указанным кодом