社区
Linux/Unix社区
帖子详情
如何让sell脚本执行另一个程序后正常退出?
blueflame
2004-04-06 03:54:45
譬如:
# cat aaa
#! /bin/sh
/tmp/a.out
exit
# ./aaa
其中,a.out不会自动退出执行
做完如上操作后,进程aaa依旧存在,且ppid为1(成为了孤儿进程?)如何让sell脚本执行另一个程序后正常退出?
谢谢!
...全文
72
7
打赏
收藏
如何让sell脚本执行另一个程序后正常退出?
譬如: # cat aaa #! /bin/sh /tmp/a.out exit # ./aaa 其中,a.out不会自动退出执行 做完如上操作后,进程aaa依旧存在,且ppid为1(成为了孤儿进程?)如何让sell脚本执行另一个程序后正常退出? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
blueflame
2004-04-08
打赏
举报
回复
to esunxingjian(宇翔):
呵呵,你没注意到我这句“其中,a.out不会自动退出执行”
你随便写个最简单的诸如
#include <stdio.h>
void main(void)
{
setbuf(stdout, NULL);
while (1) {
printf("a");
sleep(1);
}
}
的小程序就会看到我之前提到的现象了
to passingguy(贝多芬作品13号第二乐章):
谢谢你的解释,终于明白是为什么了^_^
esunxingjian
2004-04-07
打赏
举报
回复
你的a.out是什么
为什么我没有出现你的问题呢?
我的a.out就是简单的输出一句话,\你试一试!
passingguy
2004-04-07
打赏
举报
回复
你的代码是串行的
#! /bin/sh
a.out
exit
这个时候shell进程会等待a.out进程结束,也就是SIGCHLD信号(相当于c里面调用wait)
你如果改成
#! /bin/sh
a.out &
exit
这个时候shell进程不会等待a.out结束(相当于调用waitpid并且设置不阻塞)
blueflame
2004-04-06
打赏
举报
回复
我懂得c中的进程关系
可是用shell script去做这件事的时候,它同样产生了aaa的子进程a.out(可从a.out的ppid看得出),但很明显它没有象c程序那样A fork 出 B 后可以直接exit,而是aaa一直没有退出,且它的父进程成了1,shell到底是怎么处理的?
bluesky35
2004-04-06
打赏
举报
回复
一个进程退出后会用exit(0),另一个进程可以通过取得退出时的ID的方法判断前一个进程是否退出!
blueflame
2004-04-06
打赏
举报
回复
呵呵,谢谢楼上的
我问的目的不是为了知道如何让a.out在后台运行,而是想知道我问题里的现象是因为什么原因造成的,且这种现象该如何解决
格利高里
2004-04-06
打赏
举报
回复
用nohup /tmp/a.out &看看
shell
脚本
详解(一)——初学shell
脚本
必看哦
shell
脚本
详解一、Shell
脚本
概述1、shell
脚本
的概念2、shell
脚本
应用场景3.shell
脚本
能干什么4. shell的作用——命令翻译器,“翻译官”5.shell
脚本
构成二.编写shell
脚本
2.1 创建 shell
程序
的步骤:2.2shell
脚本
执行
三.重定向与管道操作3.1重定向——交互式硬件设备3.2重定向——重定向操作3.3经典案例:3.4管道操作四.shell变量及赋值4.1shell的变量4.2 自定义变量4.3经典案例五.交互式定义变量(read) 一、Shell
脚本
概述 1
Shell
脚本
入门:编写格式与
执行
方式
文章目录Shell
脚本
入门:编写格式与
执行
方式目标Shell
脚本
文件编写规范
脚本
文件后缀名规范首行格式规范注释格式shell
脚本
HelloWord入门案例需求效果
脚本
文件的常用
执行
3种方式介绍3种方式的区别
执行
脚本
方式1-sh命令
执行
执行
脚本
方式2-bash命令
执行
执行
脚本
方式3-仅路径
执行
语法语法示例:使用仅路径方式
执行
helloworld.sh
脚本
文件小结 Shell
脚本
入门:编写格式与
执行
方式 目标 1、掌握shell
脚本
编写规范 2、掌握
执行
shell
脚本
文件的3种方式与区别 Shell
脚本
文件编写
Java调用shell
脚本
遭遇的问题以及解决办法
在Java代码中,通过Runtime.getRuntime().exec ()
执行
一个
shell
脚本
(譬如:sh runBuild.sh),如果此shell
脚本
在
执行
过程中会结束该Java进程,由于Java进程是
执行
该shell
脚本
的shell进程的父进程,此时,父进程
退出
,也会导致shell子进程
退出
。导致的结果就是,shell
脚本
执行
被中断,现象是shell
脚本
没有得到...
linux用shell
脚本
打印金字塔,shell
脚本
编程设计——根据输入的数输出菱形、三角形或者数字金字塔(带闪烁颜色)...
shell
脚本
编程设计——根据输入的数输出菱形、三角形或者数字金字塔(带闪烁颜色)shell
脚本
程序
和解释如下#!/bin/bash#创建死循环,当输入出错或者输入"quit"字符串
退出
脚本
程序
while truedo#等待用户输入read -p "请输入
一个
不大于20的正整数(输入"quit"则
退出
):" n#先判断字符串是否是quitif [ "$n" == "quit" ]thenecho ...
Shell
脚本
目录 知识点1【shell的概述】(了解) 1、
脚本
的概述 2、创建
一个
脚本
3、如果
脚本
文件没有“可
执行
权限”,需要加上可
执行
权限x 4、./00_shell.sh
执行
脚本
5、单个#表示注释 6、
脚本
的三种运行方式 知识点2【shell的变量】(了解) 1、自定义变量 取消变量 获取键盘输入 read 只读变量 2、环境变量 3、环境变量 知识点3【
脚本
的特殊用法】(了解) 1、""(双引号):包含的变量会被解释 2、''(单引号):包含的变量会当做字符串解释 .
Linux/Unix社区
23,110
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章