Linux利用终端执行命令,linux – 通过/ dev / pts在另一个终端中执行命令
我完全得到了你的要求.您可以通过在C中编写和执行一小段代码来实现此目的.这应该会给你一些想法.
#include
#include
#include
#include
#include
#include
#include
void print_help(char *prog_name) {
printf("Usage: %s [-n] DEVNAME COMMAND\n",prog_name);
printf("Usage: '-n' is an optional argument if you want to push a new line at the end of the text\n");
printf("Usage: Will require 'sudo' to run if the executable is not setuid root\n");
exit(1);
}
int main (int argc,char *argv[]) {
char *cmd,*nl = "\n";
int i,fd;
int devno,commandno,newline;
int mem_len;
devno = 1; commandno = 2; newline = 0;
if (argc < 3) {
print_help(argv[0]);
}
if (argc > 3 && argv[1][0] == '-' && argv[1][1] == 'n') {
devno = 2; commandno = 3; newline=1;
} else if (argc > 3 && argv[1][0] == '-' && argv[1][1] != 'n') {
printf("Invalid Option\n");
print_help(argv[0]);
}
fd = open(argv[devno],O_RDWR);
if(fd == -1) {
perror("open DEVICE");
exit(1);
}
mem_len = 0;
for ( i = commandno; i < argc; i++ ) {
mem_len += strlen(argv[i]) + 2;
if ( i > commandno ) {
cmd = (char *)realloc((void *)cmd,mem_len);
} else { //i == commandno
cmd = (char *)malloc(mem_len);
}
strcat(cmd,argv[i]);
strcat(cmd," ");
}
if (newline == 0)
usleep(225000);
for (i = 0; cmd[i]; i++)
ioctl (fd,TIOCSTI,cmd+i);
if (newline == 1)
ioctl (fd,nl);
close(fd);
free((void *)cmd);
exit (0);
}
使用sudo权限编译并执行它.例如,如果你想在/ dev / pts / 3上执行命令,那么只需执行一个sudo ./a.out -n / dev / pts / 3 whoami,在/ dev / pts / 3上运行whoami.
Linux利用终端执行命令,linux – 通过/ dev / pts在另一个终端中执行命令相关推荐
- tensorflow tf.enable_eager_execution()(立即执行操作,不添加到稍后在“ tf.Session”中执行的图)
@tf_export("enable_eager_execution") def enable_eager_execution(config=None,device_policy= ...
- Linux用命令安装音乐软件,在Ubuntu 18.04系统中使用命令安装Qmmp音乐播放器的方法...
在Ubuntu 18.04操作系统中安装Qmmp音乐播放器非常简单,只需要两段命令就可以搞定.下面介绍其方法. Qmmp音乐播放器介绍 Qmmp是一款开源基于Qt的多媒体播放器,提供Qt4及Qt5支持 ...
- linux中如何分割字符串数组中,关于bash:linux shell脚本:拆分字符串,将它们放入一个数组中,然后循环遍历它们...
本问题已经有最佳答案,请猛点这里访问. Possible Duplicate: Split string based on delimiter in Bash? 在bash脚本中,如何使用像;这样的分 ...
- 按一行一行的方法将一个文本文件复制到另一个文件中_命令行技巧:分割文件内容...
(给Linux爱好者加星标,提升Linux技能) 英文:Stephen Snow,翻译:Linux中国/MjSeven linux.cn/article-10809-1.html Fedora 发行版 ...
- grub命令 u盘安装linux,利用U盘安装Linux操作系统(grub4dos,USB,Linux)
前一刻盘太多,手头没有DVD拉,今天又想装一下系统,于是想起以前用过的grub4dos来. 基本思想是把grub4dos装到U盘里,同时将iso文件(3G多)也弄到U盘中,这样直接从U盘启动安装系统. ...
- linux利用grep查看打印匹配的下几行或前后几行的命令
linux系统中,利用grep打印匹配的上下几行 如果在只是想匹配模式的上下几行,grep可以实现. $grep -5 'parttern' inputfile //打印匹配行的前后5行 $grep ...
- linux命令输入错误怎么弄,Bash-Insulter:一个在输入错误命令时嘲讽用户的脚本 | Linux 中国...
这是一个非常有趣的脚本,每当用户在终端输入错误的命令时,它都会嘲讽用户. – Magesh Maruthamuthu 它让你在解决一些问题时会感到快乐.有的人在受到终端嘲讽的时候感到不愉快.但是,当我 ...
- linux利用* vim提权,linux 通过suid vim.basic文件提权
在kali上复现 先给需要的vim.basic文件设置suid权限 chmod u+s /usr/bin/vim.basic 先adduser test1一个普通权限用户 现在就是一个合适的提权环境 ...
- linux利用* vim提权,Linux使用suid vim.basic文件实现提权
在kali上复现 先给需要的vim.basic文件设置suid权限 chmod u+s /usr/bin/vim.basic 先adduser test1一个普通权限用户 现在就是一个合适的提权环境 ...
- linux下执行python脚本并传入参数_实现在Java中执行python代码或py脚本(可传参数)...
写在前面 最近用Java写服务端程序时,遇到这样一个需求:需要把用python写的机器学习算法部署到服务器上,然后Java执行py脚本,并且取得算法执行的结果.在网上找了很久,有些跑不通,有些是基于w ...
最新文章
- 13岁小孩都跟我抢Python了,完了!
- Android 解决不同进程发送KeyEvent 的问题
- C++中不允许重复定义全局变量
- 组合数处理(逆元求解)
- 使用 Visual Studio 2019 批量添加代码文件头
- 读书笔记--互联网必读《长尾理论》作者克里斯.安德森
- 279. 完全平方数 golang BFS
- 【UWP】批量修改图标尺寸
- php运行环境出现Undefined index 或variable时解决方法
- 前端es6文档大全,你想要的这都有
- ARP协议详解 ARP报文结构
- Java生成token的工具类(对称签名)
- HBUILDERX怎么导入html文件,HBuilderX使用教程 HBuilderX如何导入图片
- QQ音乐评论分布可视化
- 关于贵旅、酒店、机场、小农等算法分析
- 【新书推荐】【2019.09】溢油合成孔径雷达成像机理
- PHP基础知识 - PHP函数大全
- 外景婚纱摄影一定要做到的
- 分类评价标准之average accuracy(AA)
- uipath 字符串操作
热门文章
- php 苹果内购支付
- 如何利用DW快速编写一个简单网页
- doc转html poi,java poi doc 转html
- 「Computer Vision」Note on Kinetics and Two-Stream Inflated 3D ConvNets (I3D)
- 合肥工业大学 OnlineJudge——1003 B-黑石部落
- UVM中的factory机制
- 奥城大学计算机科学专业,我是学工程专业本科毕业,托福70分,GRE1020分,都很低,我想去美国留学马上走,...
- java close 方法_Java PushbackReader close()方法与示例
- 哈希算法----猜词游戏
- 光标快速移动到文档尾部_在Word文档中,把光标移动到文件尾部的快捷键是__________。...