按说这样写是没有问题的,你可以在 nohup 这句的前后 加个 echo ,调试下,看能不能正常执行,把command换成其他的命令试试,检查下权限 环境变量 绝对路径相关的问题。
shell脚本调用另一个shell脚本问题
5问题描述:
现在有两个shell脚本A和B,用A脚本去调用B脚本,B脚本中有一条将程序放到后台执行的语句。两脚本大体内容如下:
A脚本:
#!/bin/bash
source /etc/profile
source ~/.bash_profile
B
B脚本:
#!/bin/bash
source /etc/profile
source ~/.bash_profile
nohup command &
这时候执行A脚本,发现虽然成功调用了B脚本,并且看到了B脚本中的程序放到后台的回显,但是此时查看发现后台并没有command程序。
个人感觉可能是A脚本fork出子进程,然后B脚本的后台command程序是放在子进程中的,之后A脚本及其子进程退出,后台的程序也一并退出了。
其后我使用了source B来调用B脚本,以及在B脚本最后写入sleep命令,即程序放到后台后B脚本并不退出,但是同样的结果,还是发现command程序没有启动。
请问有没有大佬知道这种情况的原因和解决办法呢?需要这样做的原因是A脚本是一个监控脚本,发现异常以后,去调用执行B脚本,而B脚本是command程序的启动脚本。如果将nohup command &放入A脚本中去启动,而不是通过调用B脚本的方式启动command程序可以行,但是感觉管理混乱,并且想弄明白这个问题的原因。
- 点赞
- 写回答
- 关注问题
- 收藏
- 复制链接分享
- 邀请回答
2条回答
为你推荐
- shell脚本判断文件是否为0.
- linux
- oracle
- 2个回答
- shell脚本如何利用函数自动检测命令是否执行成功?
- bash
- 1个回答
- 通过Golang执行Shell脚本后找回错误
- 编程语言问答
- 互联网问答
- it技术
- IT行业问题
- 计算机技术
- 1个回答
- shell脚本调用另一个shell脚本问题
- bash
- linux
- 2个回答
- PHP调用shell脚本来处理多个用户
- shell
- php
- 3个回答
- 使用参数从另一个调用PHP脚本并获取输出
- shell
- php
- 1个回答
- 如何将shell脚本写入多行文本从mysql读取文件?
- shell
- php
- mysql
- 1个回答
- 如何通过Shell脚本调用公共静态成员方法(PHP类)?什么是“phpr”?
- shell
- php
- 1个回答
- 从php运行动态shell脚本
- shell
- php
- command
- 1个回答
- 使用参数在shell脚本中调用PHP
- cron
- shell
- php
- 1个回答
- 怎样在java代码中调用执行shell脚本呀
- 编程语言问答
- 互联网问答
- it技术
- IT行业问题
- 计算机技术
- 0个回答
- JAVA调用shell脚本返回执行结果是否成功?
- 编程语言问答
- 互联网问答
- it技术
- IT行业问题
- 计算机技术
- 0个回答
- shell脚本怎么调用python的return值
- shell
- python
- 2个回答
- shell怎么调用一个子脚本之后 让自己可以退出不必等子脚本
- shell
- shell脚本
- linux
- 2个回答
- gdb脚本,gdb调试过程中,怎么把shell命令的结果赋值给gdb内的变量
- 脚本
- shell
- gdb
- 调试
- 3个回答
- shell脚本调用docker里面的python脚本,如何返回一个值(状态码)给shell脚本?
- 脚本
- 框架
- shell
- python
- 爬虫
- 1个回答
- shell脚本能直接用名字调用吗?
- 3个回答
- linux如何设置一个shell在开机登录之后自动运行?
- shell脚本
- linux
- 3个回答
- shell检查自己脚本是否正在调用
- ps
- 脚本
- shell
- grep
- 1个回答
- shell脚本里的命令加参数 参数 是从另一个文件中取得 怎么设置
- 脚本
- shell
- linux
- 8个回答