C++ 功能使用技巧

embedded/2024/10/10 22:38:33/

1. 通过C执行shell指令,比如,在代码中查找进程名称,并进行终止

2.单实例线程操作

1. 要点

snprintf 函数被用于构建一个包含多个命令的字符串

在C语言中,system函数用于执行shell命令

在C或C++编程中,::mkdir 函数用于创建一个新的目录

该例子中,编译生成的进程名称为motion_realmachine

void system_kill_last() {// GDB 调试时,不用杀掉,否则会退出GDBchar* pathVar = getenv("_");if (pathVar != NULL) {if (0 == strcmp(pathVar, "/usr/bin/gdb")) {printf("# GDB _=[%s]\n", pathVar);return;}}// 清理残余线程char kill_command[256] = {0x00};snprintf(kill_command, sizeof(kill_command),"sudo true ; ps -aux | grep motion_realmachine | grep -v grep | grep -v %d | ""awk '{print $2}' | xargs -r sudo kill -9",gettid());// std::cout << "kill_command: " << kill_command << std::endl;int ret = system(kill_command);if (0 == ret) {sleep(1);}
}int main(int argc, char *argv[]) {system_kill_last();return 0;
}
ret = ::mkdir("/tmp/er", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
  • ret 是一个变量,用于存储mkdir函数的返回值。如果目录成功创建,mkdir通常返回0;如果失败,则返回-1,并设置errno以指示错误类型。
  • "/tmp/er" 是你想要创建的目录的路径。
  • S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH 是权限设置,这些宏在<sys/stat.h>中定义。具体来说:
    • S_IRWXU 代表用户(文件所有者)具有读、写和执行权限。
    • S_IRWXG 代表组具有读、写和执行权限。
    • S_IROTH 代表其他用户具有读权限。
    • S_IXOTH 代表其他用户具有执行权限。
    • 通过将这些宏使用位或运算符(|)组合,你为新目录设置了非常宽松的权限:所有者、组成员和其他用户都可以读、写和执行该目录(尽管S_IROTHS_IXOTH在这里可能有些多余,因为通常不会给其他用户写权限)。

2. 链接如下:

c++线程测试例程_ubuntu c++ sleep-CSDN博客


http://www.ppmy.cn/embedded/125577.html

相关文章

0基础跟德姆(dom)一起学AI 机器学习03-线性回归

线性回归 线性回归介绍 【理解】举个栗子 假若有了身高和体重数据&#xff0c;来了播仔的身高&#xff0c;你能预测播仔体重吗? 这是一个回归问题&#xff0c;该如何求解呢? **思路**:先从已知身高X和体重Y中找规律&#xff0c;再预测 •数学问题&#xff1a;用一条线来拟…

Unity各个操作功能+基本游戏物体创建与编辑+Unity场景概念及文件导入导出

各个操作功能 部分功能 几种操作游戏物体的方式&#xff1a; Center:有游戏物体父子关系的时候&#xff0c;中心点位置 Global/Local:世界坐标系方向/自身坐标系方向 &#xff1a;调试/暂停/下一帧 快捷键 1.Alt鼠标左键&#xff1a;可以实现巡游角度查看场景 2.鼠标滚轮…

二、MySQL的数据目录

文章目录 1. MySQL8的主要目录结构1.1 数据库文件的存放路径1.2 相关命令目录1.3 配置文件目录 2. 数据库和文件系统的关系2.1 查看默认数据库2.2 数据库在文件系统中的表示2.3 表在文件系统中的表示2.3.1 InnoDB存储引擎模式2.3.2 MyISAM存储引擎模式 2.4 小结 1. MySQL8的主要…

蓝桥杯:求平均年龄

#include<stdio.h> int main() { int num 0; float age 0,sum0; printf("请输入总人数: "); scanf_s("%d" ,& num); for (int i1; i <num;i) { scanf_s("%f", &age); sum age…

多模态简单了解

多模态 1.文本编码2. ViT图像编码器2.1图像矩阵self-attention计算&#xff1a; 3.Transformer多模态3.1CLIP 图文交互3.2 对比学习训练3.3 flamingo 图文交互3.4 LLava 图文交互 1.文本编码 简介&#xff1a; 即通过embedding将字符向量化&#xff0c;进入模型即可。 2. ViT…

理解PID(零)——什么是PID

PID控制器是一种广泛用于各种工业控制场合的控制器&#xff0c;它结构简单&#xff0c;可以根据工程经验整定参数Kp,Ki,Kd. 虽然现在控制专家提出了很多智能的控制算法&#xff0c;比如神经网络&#xff0c;模糊控制等&#xff0c;但是PID仍然被广泛使用。常见的PID控制器有位置…

脉冲神经网络(SNN)论文阅读(六)-----ECCV-2024 脉冲驱动的SNN目标检测框架:SpikeYOLO

原文链接&#xff1a;CSDN-脉冲神经网络&#xff08;SNN&#xff09;论文阅读&#xff08;六&#xff09;-----ECCV-2024 脉冲驱动的SNN目标检测框架&#xff1a;SpikeYOLO Integer-Valued Training and Spike-Driven Inference Spiking Neural Network for High-performance …

旅游管理智能化转型:SpringBoot系统设计与实现

第四章 系统设计 4.1系统结构设计 对于本系统的开发设计&#xff0c;先自上向下&#xff0c;将一个完整的系统分解成许多个小系统来进行实现&#xff1b;再自下向上&#xff0c;将所有的“零件”组装成一个大的、完整的系统。因此这里面的许多个小功能块都要对将要实现的功能进…