c++ signal實(shí)現(xiàn)發(fā)送信號(hào)
1. 首先了解獲取指定進(jìn)程名的PID:
bash中獲取: ps -aux | grep xxx | grep -v grep | awk '{print $2}' // xxx 表示進(jìn)程名

這里需要注意,使用ps -ef 或者ps aux , 存在grep 的輸出,因?yàn)間rep 命令也會(huì)啟動(dòng)bash,因此輸出時(shí),會(huì)看到grep 的進(jìn)程,因?yàn)樾枰俅瓮ㄟ^ grep -v 去除grep 的輸出
2. c++ 中實(shí)現(xiàn)
#include <iostream>
#include <string>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
void DoCmdGetPid(const std::string& cmd, std::string& stringPid)
{
FILE *pFile = popen(cmd.c_str(), "r");
char *buff = new char[256];
memset(buff, 0, sizeof(buff));
fread(buff, 1, sizeof(buff), pFile);
stringPid = buff;
pclose(pFile);
delete[] buff;
}
void SendSig()
{
const std::string& procName = "recv";
std::string cmd = "ps -a | grep " + procName + " |grep -v grep | awk '{print $2}'";
std::string strPid;
DoCmdGetPid(cmd, strPid);
if (strPid.empty()) {
std::cout << "not process\n";
return;
}
// 通過kill 函數(shù)發(fā)送信號(hào)
kill(std::stoi(strPid), 38);
return;
}
int main()
{
while (1) {
SendSig();
sleep(5);
}
return 0;
}到此這篇關(guān)于c++ signal實(shí)現(xiàn)發(fā)送信號(hào)的文章就介紹到這了,更多相關(guān)c++ signal發(fā)送信號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言編程中從密碼文件獲取數(shù)據(jù)的函數(shù)總結(jié)
這篇文章主要介紹了C語(yǔ)言編程中從密碼文件獲取數(shù)據(jù)的函數(shù)總結(jié),包括getpw()函數(shù)和getpwnam()函數(shù)以及getpwuid()函數(shù),需要的朋友可以參考下2015-08-08
C++優(yōu)先級(jí)隊(duì)列的使用指南與模擬實(shí)現(xiàn)
優(yōu)先級(jí)隊(duì)列是一種特殊的隊(duì)列,其中每個(gè)元素都有一個(gè)與之關(guān)聯(lián)的優(yōu)先級(jí),優(yōu)先級(jí)較高的元素會(huì)在隊(duì)列中較早地被處理,而優(yōu)先級(jí)較低的元素會(huì)在后續(xù)處理,本文給大家介紹C++優(yōu)先級(jí)隊(duì)列的使用指南與模擬實(shí)現(xiàn),需要的朋友可以參考下2023-09-09
C語(yǔ)言 function recursion函數(shù)遞歸詳解
遞歸指的是在函數(shù)的定義中使用函數(shù)自身的方法,舉個(gè)例子: 從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢!故事是什么呢?"從前有座山,山里有座廟,廟里有個(gè)老和尚,正在給小和尚講故事呢!故事是什么呢?"從前有座山,山里有座廟,循環(huán)下去2021-10-10
win32下進(jìn)程間通信(共享內(nèi)存)實(shí)例分析
這篇文章主要介紹了win32下進(jìn)程間通信(共享內(nèi)存)實(shí)例分析,對(duì)win32應(yīng)用程序及進(jìn)程的原理做了較為深入的剖析,需要的朋友可以參考下2014-07-07
C++中set/multiset與map/multimap的使用詳解
這篇文章主要為大家詳細(xì)介紹了C++中set/multiset與map/multimap的使用,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2023-02-02
C語(yǔ)言使用ffmpeg實(shí)現(xiàn)單線程異步的視頻播放器
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言如何使用ffmpeg實(shí)現(xiàn)單線程異步的視頻播放器功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2022-12-12
關(guān)于數(shù)組做函數(shù)參數(shù)的問題集合匯總
本文是對(duì)關(guān)于數(shù)組做函數(shù)參數(shù)的問題進(jìn)行了詳細(xì)的匯總,需要的朋友可以過來參考下。希望對(duì)大家有所幫助2013-10-10

