用c语言运行Linux命令,使用execv(C语言)从linux命令提示符运行命令
到目前为止,我唯一感到困惑的部分是如何使用第一个参数设置execv作为当前工作目录。我已经尝试了两个“。”和“〜”,既不向屏幕执行任何操作;同“/”。和“/〜”。我如何有execv运行这样的困惑:
$ ./prog LS -t -al
而且有它在当前目录下执行程序后,执行的命令(其存储到的argv) ,或同一目录中的文件是(这将基于谁在使用它而改变。)
我的代码:
使用execv(C语言)从linux命令提示符运行命令
#include
#include
#include
#include
void main(int argc, char *argv[])
{
int pid;
int count = 0;
char *argv2[argc+1];
for(count = 0; count < argc-1; count++){
argv2[count] = argv[count+1];
printf("Argv2: %s\n", argv2[count]); //just double checking
argv2[argc-1] = NULL;
}
pid = fork();
if(pid == 0){
printf("Child's PID is %d. Parent's PID is %d\n", (int)getpid, (int)getppid());
execv(".", argv2); //
}
else{
wait(pid);
exit(0);
}
}
一些样本输出:
$ ./prog LS -t -al
Argv2:LS
Argv2:-t
Argv2:-al
孩子的PID是19194.家长的PID为19193
2012-09-25
Baelix
+0
我会建议您提高设置为“编译器警告”。它应该告诉你从main返回int。在我的系统上,它也抱怨缺少#include 。并等待一个整数指针作为参数,而不是整数。 –
用c语言运行Linux命令,使用execv(C语言)从linux命令提示符运行命令相关推荐
- linux运行go程序命令行,宝塔面板Linux环境-安装Golang:Go语言环境安装以及程序如何运行...
有的人可能对Go语言很感兴趣,这也是近几年很火的一门编程语言,我们可以在宝塔面板Linux环境下安装Go语言环境. 安装环境:CentOS Linux 7.6.宝塔面板6.9.3.golang:go1 ...
- linux下如何用c语言调用shell命令-转
C程序调用shell脚本共有三种法子 :system().popen().exec系列函数 system()不用你自己去产生进程,它已经封装了,直接加入自己的命令exec 需要你自己 fork 进程, ...
- 语言环境设置命令locale 命令(linux,对应于window 7(win叫什么命令?)控制面板-区域和语言里的设置)
Locale 目录 [隐藏] 1关于locale的设定,为什么要设定locale 1.1关于locale的设定 1.2一.为什么要设定locale 1.3二.到底什么是locale? 1.4三.什么是 ...
- go语言生成linux桌面快捷,使用Go语言在MacOS创建一个自定义的命令行工具
使用 MacOS 做开发的朋友都知道,我们一般会使用 Homebrew 做软件包管理,经常会用到 brew install [soft] 来安装各种各样的命令行软件.今天通过一个百科查找的命令行工具( ...
- 在Linux环境下运行你的第一个C语言程序
在Linux环境下运行你的第一个C语言程序 1.前言 2.环境配置 1.1 安装编辑器 1.2 安装gcc编译器 3.编写第一个C程序 3.1 新建文件夹 3.2 编辑该文件 3.3 编译mian.c ...
- sudo命令_用大写字母输入 Linux 命令,实现以 sudo 用户权限运行
我们知道,一些 Linux 命令是要通过 sudo 权限才能运行的,这需要我们每次使用这些命令时在前面加一个 sudo ,十分繁琐.今天给大家介绍一个好用的工具 SUDO ,它只需要我们用大写字母键入 ...
- linux sudo漏洞 可导致用户以 root 权限运行命令
Linux 用户要注意了!几乎所有基于 UNIX 和 Linux 的操作系统上安装的核心命令,也是最重要.最强大也最常用的工具 Sudo中被曝存在一个漏洞. Sudo 的全称是"superu ...
- ssh中exit命令退出远程服务器_解决Linux关闭终端(关闭SSH等)后运行的程序或者服务自动停止...
问题描述:当SSH远程连接到服务器上,然后运行一个服务 ./catalina.sh start,然后把终端开闭(切断SSH连接)之后,发现该服务中断,导致网页无法访问. 解决方法:使用nohup命令让 ...
- linux限制ping的时间,如何限制Linux命令程序运行的时间
Linux提供了大量的命令,每个命令都是唯一的,并且在特定的情 况下使用.Linux的目标是帮助您尽可能地高效工作.Linux命令的一个属性是时间限制.您可以为任何您想要的命令设置时间限制.如果时间过 ...
最新文章
- hashmap的五种便利方式
- 阿里巴巴P9大佬雷卷与中间件小哥重新定义:高段位程序员的学习之道
- mysql 魔乐_MLDN 李兴华 魔乐科技网上最全笔记
- VS2012生成事件
- java数据结构 - 单链表(腾讯面试题实现单链表反转)
- 根据自身工作经验总结的一个工作问题解决思路
- 《基于Nginx的中间件架构》学习笔记---3.nginx的目录分析
- Airflow 重跑dag中部分失败的任务
- iPhone路径大全
- echarts无数据时显示暂无数据或者用图片代替
- Spark综合学习笔记(五)SparkStreaming介绍
- TokenInsight 对话首席——2019年底层公链机会展望
- 微观经济学读书笔记(一)
- Docker Pull非常缓慢(使用阿里云镜像加速器)
- 华为Android 10手机微信小程序无法调起的问题解决办法
- 小白也能看懂的seaborn入门示例
- 如何提高本地文件上传至百度云的速度_上传1GB/s,下载1KB/s的原因终于找到了! | 细说网盘储存机制...
- 类似qq的图片查看器
- BERT-Whole Word Masked(WWM)
- RNA 12. SCI 文章中肿瘤免疫浸润计算方法之 CIBERSORT
热门文章
- 2019.7.23整理记录以及四道题
- ubuntu 18.04下 配置qt opencv的坑
- jvm 分代回收算法通俗理解
- Web自动化测试中的接口测试
- String str 与 String str=new String() 区别
- java struts2下载zip_Struts2多文件下载
- java 情况浏览器缓存_JavaWeb禁止浏览器缓存当前Web页面的方法
- mysql 当前时区_如何获取MySQL的当前时区?
- 对于局部变量_LabVIEW小白入门——局部变量
- python的django框架是干嘛的_Django框架在Python开发很重要为什么?