1. #include<stdio.h>
  2. #include <unistd.h>
  3. #include <sys/types.h>
  4. #include <stdlib.h>
  5. #include <sys/prctl.h>
  6. #include <signal.h>
  7.  
  8. int main()
  9. {
  10. pid_t pid;
  11. char *cmd="bash testshell.sh";
  12. //FILE *fResult=popen("/bin/bash -c testbash.sh","r");
  13. //fResult.close();
  14. pid=fork();
  15. if(pid>)
  16. exit();
  17. else if(pid==)
  18. {
  19.  
  20. //prctl(PR_SET_PDEATHSIG,SIGKILL);
  21. execl("/bin/bash","/bin/bash","-c",cmd,NULL);
  22. exit();
  23. }
  24. else if(pid<)
  25. {
  26. printf("create faild\n");
  27. exit();
  28. }
  29. return ;
  30. }

testshell.sh文件

  1. date>testshell_log.log
  2. echo "----------------------------">>testshell_log.log
  3. java -jar TestOracle.jar>>testshell_log.log
  4. echo "----------------------------">>testshell_log.log
  5. date>>testshell_log.log>>testshell_log.log

在shell文件中可以执行各种linux命令,也可以写 if else fi 语句

linux C 调用shell程序执行的更多相关文章

  1. Linux应用程序调用其他程序执行

    一.system 1.作用 在Linux应用程序中调用另一个程序: 2.用法 system("/sbin/ifconfig"): 二.popen 1.作用 调用另一个程序执行,同时 ...

  2. Linux命令行上程序执行的那一刹那!

    转自:http://www.cppblog.com/cuijixin/archive/2008/03/14/44463.html by falcon<zhangjinw@gmail.com> ...

  3. 通过ant调用shell脚本执行adb命令

    在Hudson或者Jenkins中利用ant的exec 来调用shell命令,通过shell脚本来执行adb shell命令,可以正常执行,不会出现在ant中直接调用adb shell出现的假死情况. ...

  4. 用java代码调用shell脚本执行sqoop将hive表中数据导出到mysql

    1:创建shell脚本 touch sqoop_options.sh chmod 777 sqoop_options.sh 编辑文件  特地将执行map的个数设置为变量  测试 可以java代码传参数 ...

  5. windows下建立文件的换行符^M导致linux下的shell脚本执行错误的解决方式

    常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主 ...

  6. java操作linux,调用shell命令

    import org.junit.jupiter.api.Test; import java.io.BufferedReader; import java.io.IOException; import ...

  7. 【转】 linux下的awk程序执行

    #!/bin/awk -f awk脚本开头使用这个命令,赋予这个文本文件以执行的权限.这样做之后,你就可以在命令行中用类似于下面这样的方式调用并执行这段awk程序了. BEGIN和END的大括号必须紧 ...

  8. JAVA 调用exe程序执行对应的文件 (个人用于编译Java文件)

    需求: 需要利用Java程序,来调用计算机本身的黑窗口,来将特定的Java文件编译成对应的字节码文件. 实现思路: 通过调用Java的Runtime类,每个 Java 应用程序都有一个 Runtime ...

  9. kettle在linux下面用于shell脚本执行:转换或者作业

    1 将windows下面创建好的转换,放到Linux某一个文件夹下面.如:把0816_em.ktr文件放到/home/cfj/kettle/testdemo下面. 注意里面的数据库用户名和密码可能需要 ...

随机推荐

  1. 如何安装Node.js环境

    一.在Windows系统下安装Node.js环境 1. 下载地址:官网http://nodejs.org/ 2.   安装nodejs,根据自己情况,安装路径 D:\Program Files\nod ...

  2. 使用Maven清理项目

    在基于Maven的项目中,很多缓存输出在“target”文件夹中.如果想建立项目部署,必须确保清理所有缓存的输出,从面能够随时获得最新的部署. 要清理项目缓存的输出,发出以下命令: mvn clean ...

  3. Tomcat 部署一工程时Deploy Location 为什么 是 INVALID

    1.eclipse项目: 在项目的.settings目录下,找到org.eclipse.wst.common.component文件: <?xml version="1.0" ...

  4. MongoDB多文档查询

    db.getCollection('transactionCompensation').find( { "$and":[ { "status":{ " ...

  5. Windows10锁屏壁纸提取

    CMD执行:  %localappdata%\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\As ...

  6. Oracle表明明存在SQL查询数据提示表不存在异常

    今天同事遇到一个很奇怪的问题,恢复了一个数据库,表明明存在,用PLSQL和sqlplus都试过了,SQL语句select * from 表名,查询数据,却提示表名不存在异常 然而,使用select * ...

  7. asp.net mvc中配置路由默认值(Area中)

    public class RouteConfig { ] { "Best.Site.Areas.BestPalace" }; public static void Register ...

  8. 【Intel AF 2.1 学习笔记三】

    AF中自带一些Css矢量图标,使用时需要设置class,例如下面代码显示一个左箭头图标: <a class="icon left"></a> AF中可用的图 ...

  9. AsyncTask异步类的简单操作

    package com.example.day9; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; im ...

  10. kafka学习之-雅虎开源管理工具Kafka Manager

    http://blog.csdn.net/lizhitao/article/details/44523663