1.守护进程
守护进程含义:守护进程在树莓派上电后开始运行,断电后结束运行的进程,即使你的终端退出也不会停止,我们可以手动关闭它
使用nohup创建守护进程
先创建一个c语言文件(long_task.c)
#include <stdio.h>
#include <unistd.h>int main() {int i = 0;while (1) {printf("C Program Running - Iteration %d\n", i++);fflush(stdout); // 强制刷新输出缓冲区,确保日志实时写入文件sleep(5);}return 0;
}
在树莓派中将其编译成一个可执行文件
gcc long_task.c -o long_task
chmod +x long_task
使用nohup生成守护进程会返回进程号
使用cat查看进程返回的日志
cat c_output.log
第一次进程运行到了41次
第二次进程运行到了46次
可以看到守护进程在后台是一直运行的
2.gdb调试
先创建一个out_test.c文件
#include <stdio.h>int main() {printf("Hello Raspberry Pi!\n");return 0;
}
依次在树莓派上输入下面指令
out_test.c -o out_test
sudo gdb ./out_test
这时会提示你输入账户密码
终端出现(gdb)提示,在这后面输入指令
用到的指令有
(gdb) break main # 在 main 函数设置断点
(gdb) run # 启动程序
(gdb) next # 逐行执行
(gdb) quit # 退出
3.内网穿透访问树莓派
首先需要一个云服务器,我这里使用的是阿里云服务器
阿里云配置
- 确保云服务器已开启SSH服务(默认端口22)。
-
配置安全组端口
-
进入ECS控制台 → 安全组 → 配置规则
-
添加一条 入方向规则:
-
协议类型:TCP
-
端口范围:
10022
(或其他自定义端口) -
授权对象:
0.0.0.0/0
-
-
树莓派配置
1.关闭对应防火墙
sudo ufw allow 端口号
2.搭建ssh通道
ssh -p 10022 pi@阿里云IP # 输入树莓派密码