c-用什么方法可以知道linux下跑的程序的返回值?

问题描述

用什么方法可以知道linux下跑的程序的返回值?

比如 aaa.c main()
{
return 123;
} 编译成aaa

如果 ./aaa 以后,我想获得123,应该怎么做?谢谢各位大神 用C,用shell都行!

解决方案

这种返回值应该是没法知道的,Linux下运行程序是有系统返回值的,就是返回-1 0 之类的代表程序运行正确或者失败,如果可以,你可以加日志之类的将程序返回值打印出来就可以了

解决方案二:

脚本里面,$?就是上次执行的程序的返回值

解决方案三:

用管道就可以了,将程序结果通过管道输出出来或是使用

解决方案四:

使用waitpid系统调用

解决方案五:

直接打印出来不久行了,printf("%dn", a);

解决方案六:

直接打印出来不久行了,printf("%dn", a);

时间: 2024-10-03 19:59:39

c-用什么方法可以知道linux下跑的程序的返回值?的相关文章

在Linux下开发GUI程序的方法

在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux下的GUI应用. 本文将依次介绍GTK+.Qt.wxWidgets和Swing/AWT,对其进行对比分析. 1. GTK+ 平台支持 虽然GTK+最初是为X Window系统开发的,但是目前已经发展成为一个跨平台的图形界面API,其支持的平台包括: Li

Linux下启动java程序的通用脚本sh

在网上找到一个挺好的通用shell脚本. 只需要修改一些配置变量,就可以用来做起动脚本了. 并且除了能起动.还支持关闭.重启.查看是否正在运行的功能. 原文地址:http://www.tudaxia.com/archives/10 start函数中,nohup部分其实也可以提出来放入一个配置变量中.这里没有修改直接贴上作者的原文 #!/bin/sh #该脚本为Linux下启动java程序的通用脚本.即可以作为开机自启动service脚本被调用, #也可以作为启动java程序的独立脚本来使用. #

《C语言开发从入门到精通》一2.3 在Linux下开发C程序

2.3 在Linux下开发C程序 知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\在Linux下开发C程序.mp4 在平常工作中,我们都熟识了Windows系统,程序开发也习惯了在Windows环境下开发程序这一工作模式.但是,在特殊应用领域,例如单片机应用和嵌入式开发,就需要在Linux环境下开发C程序.Linux是一种计算机操作系统,是一套免费使用和自由传播的类UNIX操作系统,它主要用于基于Intel x86系列CPU的计算机上.这个系统是由世界各地成千上万的程序员设计和实现的.其目

linux 并行-Linux下MPI+OpenMP程序编译运行出错

问题描述 Linux下MPI+OpenMP程序编译运行出错 如题,错误提示如下: [node65:03787] *** Process received signal *** [node65:03787] Signal: Segmentation fault (11) [node65:03787] Signal code: Address not mapped (1) [node65:03787] Failing at address: 0x44000098 [node65:03787] [ 0

linux下串口编程read函数返回(非超时返回)问题

问题描述 linux下串口编程read函数返回(非超时返回)问题 串口编程经典应用场景:打开串口,阻塞模式,非超时返回,有数据返回,无数据死等. 简易代码为例: void* read_thread(void* param) { char szbuf[128]; int size = 0; while (running) { size = read(fd, szbuf, sizeof(szbuf)); } return 0; } int main() { fd = open(port, O_RDW

Linux下C/C++程序调试

Linux下的段错误产生的原因及调试方法 原文地址:http://www.upsdn.net/html/2006-11/775.html 参考地址:http://www.cnblogs.com/khler/archive/2010/09/16/1828349.html 简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48

Windows下与Linux下编写socket程序的区别

[Windows: 头文件的区别] #include<winsock.h>#include<winsock2.h> [Windows: 初始化的区别] WSADATA wsaData;WSAStartup(0x202,&wsaData); [Windows: 声明Socket]  SOCKET类型 [Windows: Socket关闭] closesocket() [Windows: Socket操作错误返回值]  SOCKET_ERROR [Windows: 设置sock

linux下执行java程序的sh脚本分享_java

今天大概耗费了快一天的时间研究怎么用脚本执行java程序,终于实现了,分享一下 (1)在linux下写一个.sh文件 (2)文件内容如下: 复制代码 代码如下: #!/bin/sh         //bash文件头 APP_HOME=/home/blmcrm/crm/A      //要执行的java文件中bin文件的上一个目录,我的目录是/home/blmcrm/crm/A/bin/blm......(后面不写了),总之就是写bin目录前面的部分,因为jar包在bin目录里面,如果不在bin

linux shell自定义函数(定义、返回值、变量作用域)介绍_linux shell

linux shell 可以用户定义函数,然后在shell脚本中可以随便调用.下面说说它的定义方法,以及调用需要注意那些事项. 一.定义shell函数(define function) 语法: [ function ] funname [()] { action; [return int;] } 说明: 1.可以带function fun() 定义,也可以直接fun() 定义,不带任何参数. 2.参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值. retu