KDK_GET_PR...START_TIME(3)

📦 version 3.0.1.4, in arch rolling, ubuntu resolute, ubuntu stonking

💖 KDK_GET_PR...START_TIME(3) — Library Functions Manual 💖

okay bestie, sit DOWN, because we're about to learn how to ask a process "hey girl, when did you wake up?" 🦋 this is page 3 of the library functions manual, and yes the title is lowkey cursed with those dots but we move. ✨


🌸 NAME 🌸

kdk_get_process_start_time — 获取某一进程的启动时间

(it's giving "when did this process start", fr fr)


🎀 SYNOPSIS 🎀

#include <libkyprocess.h>

extern char* kdk_get_process_start_time(int proc_num);

Link with -lkyrtinfo.


✨ Detailed Description ✨

The main function of the interface is to obtain the start time of the specified process. that's the whole vibe. that's the assignment. 💅

The argument proc_num is the PID of the process. so you hand it a PID and it hands you back a timestamp, no cap.


👑 RETURN VALUE 👑

On success, returns the start time of the process of type char*, such as "Mon Sep 18 08:40:37 2023"; The returned string needs to be released by free. 🔥

not me forgetting to free it… bestie the returned string needs to be released by free or you're leaking, and the leak is NOT the aesthetic. 😭

On error, return NULL.


🧚 EXAMPLES 🧚

okay here's the whole demo, verbatim, because it's iconic:

#include "libkyprocess.h"
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char *run_time = kdk_get_process_running_time(841);
    char *cpu_time = kdk_get_process_cpu_time(841);
    char *cmd = kdk_get_process_command(841);
    char *start_time = kdk_get_process_start_time(841);
    printf("获取某一进程的CPU利用率:%0.1f0, kdk_get_process_cpu_usage_percent(841));
    printf("获取某一进程的内存占用率:%0.1f0, kdk_get_process_mem_usage_percent(841));
    printf("获取某一进程的进程状态:%s0, kdk_get_process_status(841));
    printf("获取某一进程的进程端口号:%d0, kdk_get_process_port(841));
    printf("获取某一进程的启动时间:%s0, start_time);
    printf("获取某一进程的运行时间:%s0, run_time);
    printf("获取某一进程的CPU时间:%s0, cpu_time);
    printf("获取某一进程的Command:%s0, cmd);
    printf("获取某一进程的属主:%s0, kdk_get_process_user(841));
    free(run_time);
    free(cpu_time);
    free(cmd);
    free(start_time);
    char** pid =  kdk_procname_get_process_infomation("systemd");
    size_t index = 0;
    while (pid[index])
    {
        printf("pid %s0, pid[index]);
        index ++;
    }
    kdk_proc_freeall(pid);

    char** info = kdk_get_process_all_information();
    size_t count = 0;
    while (info[count])
    {
        printf("No. %d %s0, count + 1, info[count]);
        count ++;
    }
    kdk_proc_freeall(info);

    char *name = kdk_get_process_name(1151571);
    printf("name = %s0, name);
    free(name);

    int id =  kdk_get_process_id("systemd");
    printf("pid %d0, id);

    return 0;
}

see how it frees start_time right there with all its friends? that's the energy. 🫶


🌈 CONFORMING TO 🌈

These functions are as per the withdrawn POSIX.1e draft specification. (withdrawn, bestie — we're living on the edge 🫠)

The following functions are Linux extensions: kdk_get_process_name(), kdk_get_process_id(), kdk_get_process_cpu_usage_percent(), kdk_get_process_mem_usage_percent(), kdk_get_process_status(), kdk_get_process_port(), kdk_get_process_running_time(), kdk_get_process_cpu_time(), kdk_get_process_command(), kdk_get_process_user(), kdk_procname_get_process_infomation(), kdk_get_process_all_information() and kdk_proc_freeall().


💜 SEE ALSO 💜


and that's the whole page, bestie!! 🎀 this came to you from the Linux Programmer's Manual, dated Mon Sep 18 2023, and filed under KDK_GET_PR...START_TIME(3). go get those start times, you absolute icon 💅✨💖

📦 where this page comes from