I am developing my application in C, and when application starts it needs to kill shell script which runs from system startup.
Here is my function that kills shell script from C++:
void Kill_Script_sh(void)
{
    FILE *fp;
    char buffer[30];
    char pid_number[5];
    int pid;
    int fd;
    std::stringstream command;
    command.str("");
    fp = popen("ps aux | grep tick.sh", "r");
    fgets(buffer, 30, fp);
    pclose(fp);
    pid_number[0] = buffer[11];
    pid_number[1] = buffer[12];
    pid_number[2] = buffer[13];
    pid_number[3] = buffer[14];
    pid_number[4] = buffer[15];
    pid = atoi(pid_number);
    printf("%d \n", pid);
    command << "sudo kill " << pid;
    system(command.str().c_str());
}
After I killed the process I need to check if it still exists. Is this correct way to do what I need? Any idea is helpful. Thanks
