首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用nohup从shell脚本调用和返回值

  1. nohup是一个Linux/Unix命令,用于在后台运行命令,即使关闭终端或注销用户,命令也会继续运行。
  2. 通过nohup命令调用shell脚本可以确保脚本在后台持续运行,即使终端关闭也不会中断。
  3. 使用nohup命令调用shell脚本的语法为:nohup sh script.sh &,其中script.sh是要调用的shell脚本。
  4. 调用脚本后,nohup会将输出重定向到nohup.out文件中,可以通过查看该文件来获取脚本的输出信息。
  5. 脚本的返回值可以通过$?变量获取。在脚本执行完毕后,可以通过echo $?命令来查看返回值。返回值为0表示脚本执行成功,非0表示脚本执行失败。
  6. nohup命令的优势在于可以在后台运行长时间运行的任务,如数据处理、定时任务等,而不受终端关闭的影响。
  7. 使用nohup命令调用shell脚本适用于需要长时间运行的任务,如数据导入、备份、定时任务等场景。
  8. 腾讯云提供了云服务器(CVM)产品,可用于运行shell脚本和部署应用程序。您可以通过腾讯云控制台或API创建和管理云服务器实例,详情请参考腾讯云云服务器产品介绍:https://cloud.tencent.com/product/cvm

请注意,以上答案仅供参考,具体的实现方式和产品选择应根据实际需求和情况进行决策。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

nohupsetsid实现linux后台运行执行 shell 脚本

中断后台运行的test.sh脚本:先fg %number切换到前台,再ctrl+c;或是直接kill %number 以上两种在后台运行test.sh的方法,当遇到退出当前shell终端时,后台运行的...不中断后台运行脚本 这是因为以上两种方法使得test.sh在后台运行时,运行test.sh进程的父进程是当前shell终端进程,关闭当前shell终端时,父进程退出,会发送hangup信号给所有子进程,...所以要想退出当前shell终端时test.sh继续运行,则需要使用nohup忽略hangup信号。 nohup test.sh & 不中断的在后台运行test.sh:nohup ....test.sh脚本进程 退出当前shell终端,再重新打开,使用jobs看不到正在运行的test.sh,但使用ps -ef可以看到 在后台不中断的运行test.sh,可以使用nohup忽略hangup信号...,或者使用setsid将其父进程改为init进程(进程号为1) 实际上就是把控制台的内容输出到了 nohup.out这个文件里了 如果查看控制台内容的话就tail -f nohup.out就行 setsid

2.6K30

linux: Shell脚本设计函数的成功异常返回值

Shell 脚本是一种强大的工具,广泛用于自动化系统管理任务。在编写复杂的 Shell 脚本时,使用函数是一种常见的做法,它有助于提高代码的可读性可维护性。...本文将探讨如何在 Shell 脚本中设计函数的成功异常返回值,以便于更有效地处理错误管理脚本的执行流程。 了解 Shell 函数的基础 Shell 函数是一组执行特定任务的命令集合。...-ne 0 ]; then echo "下载失败" return 2 # 自定义错误代码 fi return 0 } 使用返回值 调用函数后,可以通过特殊变量...使用描述性错误代码:使用不同的非零值来区分不同类型的错误。 在文档中记录返回代码:在脚本或函数的文档中说明每个返回代码的含义。 一致性:在整个脚本中保持返回值的一致性。...结论 在 Shell 脚本中正确设计使用函数的返回值是确保脚本健壮性可靠性的关键。通过遵循上述指导原则,您可以更有效地处理错误,并使您的脚本更容易理解维护。

18810

Shell脚本的基本语法-Shell变量的定义使用

Shell脚本是一种基于文本的命令语言,用于自动化执行一系列命令任务。它是LinuxUnix操作系统中的标准脚本语言。Shell脚本具有灵活性可移植性,并可以用于各种系统管理自动化任务。...下面我们将介绍Shell脚本的基本语法变量定义及使用方法。 一、Shell脚本的基本语法 1.文件头:Shell脚本文件的第一行必须指定解释器。例如,#!...5.循环语句:Shell脚本支持for、whileuntil循环语句。 6.函数:Shell脚本中的函数是可以重复使用的代码块,可用于将一组命令封装到一个单元中,从而简化脚本代码。...二、Shell变量的定义使用Shell脚本中,可以定义变量来存储数据。变量的命名规则如下: 变量名称必须以字母或下划线开头,不能以数字开头。 变量名称只能包含字母、数字下划线。...Shell还支持一些预定义变量,可以直接在脚本使用。例如,$0表示脚本的名称,$1、$2、$3等表示脚本的参数,$#表示参数的数量,$?表示上一个命令的返回值,$$表示当前进程的PID等。

79800

shell脚本的函数介绍使用案例

#前言:今天我们来聊聊shell脚本中的函数知识,看一下函数的优势,执行过程相关的使用案例,我们也来看一下shellpython的函数书写方式有什么不同 #简介 1、函数也具有别名类似的功能 2、函数是把程序里多次调用相同的代码部分定义成一份...#2、带参数的函数执行方法 函数名 参数1 参数2 #提示:函数的传参脚本的传参类似 #shell的位置参数($1 $2 $3 $4 $5 $# $* $?...$@)都可以时函数的参数 #$0比较特殊,仍然是父脚本的名称 #在shell函数里面,return命令功能与shell里的exit类似,作用时跳出函数 #在shell函数里面使用exit会退出整个shell...脚本,而不是退出shell函数 #return语句会返回一个退出值(返回值)给调用函数的程序 #我们来看一下python的函数书写方式 #提示:def是define的意思,定义 最基本的语法:...#例9:使用shell函数开发rsync服务启动脚本 #使用start、stop、restart函数将代码 模块化,使用系统函数action优化显示 [root@shell init.d]# cat rsyncd

1.6K20

shell脚本的函数介绍使用常用案例

作者:老油条IT记 公众号:老油条IT记 #前言:今天我们来聊聊shell脚本中的函数知识,看一下函数的优势,执行过程相关的使用案例,我们也来看一下shellpython的函数书写方式有什么不同 #...n } 规范写法 function 函数名(){ 指令 return n } #提示:shell返回值是exit输出返回值,函数里用return输出返回值 #函数的执行...:函数的传参脚本的传参类似 #shell的位置参数($1 $2 $3 $4 $5 $# $* $?...脚本,而不是退出shell函数 #return语句会返回一个退出值(返回值)给调用函数的程序 #我们来看一下python的函数书写方式 #提示:def是define的意思,定义 最基本的语法: def...#例9:使用shell函数开发rsync服务启动脚本 #使用start、stop、restart函数将代码 模块化,使用系统函数action优化显示 [root@shell init.d]# cat rsyncd

66720

shell脚本中的if条件语句介绍使用案例

#前言:在生产工作中if条件语句是最常使用的,如使用来判断服务状态,监控服务器的CPU,内存,磁盘等操作,所以我们需要熟悉掌握if条件语句。 简介 if条件语句,简单来说就是:如果,那么。...scripts]# sh if2.sh 3 input 3 success [root@shell scripts]# sh if2.sh 4 input failure 4.if条件语句的使用案例...sh soft_package.sh mailx is not installed. 4.2.监控httpd服务 #提示:使用netstat或ss过滤然后使用wc统计,进行判断,如果结果大于0,就表示运行...sh /scripts/web.sh &>/dev/null */3 * * * * root /bin/sh /scripts/mysql_mon.sh &>/dev/null #提示:对于开发程序脚本来说...脚本 5.加入crond定时任务,然后每3分钟检查一次 #总结:if条件语句可以做的事情还有很多,大家可以根据工作需求去多多开发挖掘,下篇将继续写shell脚本的另外一个条件语句case。

9.6K40

使用bash编写Linux shell脚本--调试版本控制

外壳调试的特点 Bash 有几个开关选项对于跟踪调试脚本是非常有用的。“ -n ”开关可以使你不用运行脚本就可以检查脚本语法的正确性。通常在开发期间使用这个开关来检查脚本的语法。...如果使用了外壳的函数, LINENO 会函数的第一行开始计数。 调试陷阱 内置 trap 命令可以在每一行 Bash 处理之后执行调试命令。...接着使用脚本更新旧脚本。 Linux 的 patch 命令用于将一个 patch 文件(后缀名是 .diff )更新一个旧文件,并要使用 -pl -s 开关。...文件归档 shell archive (或 shar )是一个文本文件的集合或将多个脚本压缩为一个单独的文件。在脚本中的数据在这儿表示为文件。...外壳调试( Shell Debugging )选项 n         -o errexit— 如果命令返回了错误码则终端外壳脚本的执行。

2.9K111

shell脚本中的各种表达式介绍使用

#前言:在shell脚本中,有各种的表达式,包括有条件测试表达式,文件表达式,字符串表达式,整数表达式,接下来我们来了解一下他们的使用方法 1.条件测试表达式 #首先来看一下条件测试语法 #条件测试语法...条件测试的语法使用 #查看帮助:man test #介绍:test - check file types and compare values(检查文件类型比较值) #语法格式: test <测试表达式...@shell ~]# test -z "$char" && echo 1 || echo 0 1  #char为空值,所以长度为0,表达式成立输出1 1.2.[]中括号条件测试语法使用 #语法格式:[...echo 1 1 #13小于24结果为真就输出1 5.逻辑操作符 #常用的逻辑操作符 在test及[]中使用的比较符号 在[[]](())中使用的比较符号 说明 -a...,返回值就为真 5、连接两行[]、test或[[]]的表达式可用&&或|| #提示:中括号里面不能使用&&字符串,否则报错,在[[]](())里面就可以用,可参考上面列出的 [root@shell

92030

shell脚本中的case条件语句介绍使用案例

#判断PIDFILE存不存在,存在就打印运行,否则就启动   echo "Nginx is running" else   $NGINX   value start #调用返回值函数...case接收脚本传参的字符串 start) #如果第一个参数为start,调用start函数   start ;; stop) #如果第一个参数为stop,调用stop...#思路 1.首先做好ssh key验证登录 2.实现远程连接菜单选择脚本 3.利用Linux信号防止用户在跳板机上操作 4.用户登录后就调用脚本 #操作过程 3.1.做ssh免密钥登录,发送到各个主机...,如果机器多的话可以使用脚本进行循环发送 [demo@shell ~]$ ssh-keygen -t dsa -P "" -f ~/.ssh/id_dsa Generating public/private...host $num #调用主机列表函数传入的参数,进行远程登录 done } main #调用主函数 #3.3.编写脚本进行判断,判断是否是root用户登录,如果不是root用户就执行脚本

5.7K31

Shell-使用&wait让你的脚本并行执行

文章目录 概述 常见的串行执行 使用&wait改造 示例二 ? ---- 概述 我们知道shell中的命令都是串行执行的,如果想要充分利用服务器的资源,就需要些小技巧了。...执行的时候去调用这个调用脚本,事实上linux会根据脚本中的顺序 串行去调用这些脚本,还不如自己在服务器上一个个的执行快呢,最起码手工逐个调用脚本还是并行的。...使用1.sh2.sh模拟业务逻辑 [root@artisan test]# cat 1.sh #!...call_serial.sh 可知为【串行】 ---- 使用&wait改造 在每个进程中使用&符号进行让脚本在后台运行,无需等待当前进程结束。...执行结果来看,串行,每个进程都要耗时2秒,3个进程6秒处理完成 ---- 使用&wait关键字来改造上上述脚本,使其并行执行 parallel.sh #!

13.1K11

2.shell编程-函数的高级用法

2.1.函数的定义使用 函数基本使用 [root@VM_0_9_centos ~]# test() > {} -bash: syntax error near unexpected token `{}...sh nginx_daemon.sh & 关闭后查看 tail -f nohup.out 2.2.向函数传递参数 shell中传参 function name { echo "hello $1...]# 2.3.函数的返回值 返回值的方式 方式一:return 方法二:echo 使用return返回值 使用return返回值,只能返回1-255的整数 函数使用return返回值,通常只是用来供其他地方调用...全局变量 不做特殊声明,shell中变量都是全局变量 大型脚本程序函数中慎用全局变量 局部变量 定义变量时,用local关键字 函数内函数外存在相同的变量,函数内部覆盖函数外部变量 2.5.函数库...函数库 经常使用的重复代码封装成函数文件 一般不直接执行,而是由其它脚本调用 库文件名的后缀是任意的,但一般使用.lib 库文件通常没有可执行选项 库文件无需脚本在同级目录,只需在脚本中引用时指定

43321

Linux教程 - 在Shell脚本中声明使用布尔变量示例

cron作业调用我们的脚本时,特定的任务可能会失败,然后我需要将failed转换为True。基于$failed,我需要发送一封电子邮件警告我的cron作业失败了。...那么,如何在Linux服务器上运行的shell脚本中声明使用布尔变量呢? Bash中没有布尔值。但是,我们可以根据需要将shell变量的值定义为0(“False”)或1(“True”)。...让我们看看如何在Bash中组合这两个概念来声明布尔变量,并在运行在Linux、macOS、FreeBSD或类unix系统上的shell脚本使用它们。...如何在Shell脚本中声明使用布尔变量(例如“ true”“ false”) 当然,我们可以将它们定义为字符串,并使我们的代码更具可读性: #!...脚本/bash中声明使用布尔变量。

15.7K21

Linux下使用Shell脚本实现FTP自动上传下载文件

登录FTP实现下载文件功能 FTP服务器:192.168.0.199 FTP路径:/ftphome/data 本地路径:/local/data 将文件FTP下载到本地的脚本如下: 批量下载脚本代码...1 #FTP上批量下载文件到本地 2 #!...FTP的脚本如下: 批量上传脚本代码 1 #本地向FTP批量上传文档 2 #!...此类型为缺省值,即默认使用ascii方式进行传输。 – binary:将文件传输类型设置为二进制映像。需要使用binary方式传输的文件类型有ISO文件、可执行文件、压缩文件、图片等。...<<用法:当shell看到<<的时候,它就会知道下一个词是一个分界符。在该分界符以后的内容都被当作输入,直到shell又看到该分界符(位于单独的一行)。因此分界符可以是定义的任何字符串。

8.9K02

Shell 编程(二):Shell 函数的高级用法

函数定义使用 Linux Shell 中的函数大多数编程语言中的函数一样 将相似的任务或代码封装到函数中,供其他地方调用 语法格式 方法 格式内容 方法一 name() {  command1  command2...is running well Nginx is running well 直接使用函数名调用,可以将其想象成 Shell 中的一条命令 函数内部可以直接使用参数1、2…、 函数传参 调用格式 # name...方法 函数 方法一 return 方法二 echo 使用 return 返回值 使用return返回值,只能返回 1-255 的整数 函数使用return返回值,通常只是用来供其他地方调用获取状态,...全局变量 不做特殊声明, Shell中变量都是全局变量 大型脚本程序中函数中慎用全局变量 局部变量 定义变量时,使用local关键字 函数内外若存在同名变量,则函数内部变量覆盖外部变量 例子....lib 库文件通常没有可执行选项 库文件无需脚本在同级目录,只需在脚本中引用时指定 第一行一般使用 #!

54420

Shell 编程(二):Shell 函数的高级用法

函数定义使用 Linux Shell 中的函数大多数编程语言中的函数一样 将相似的任务或代码封装到函数中,供其他地方调用 语法格式 方法 格式内容 方法一 name() {  command1  ...is running well Nginx is running well Bash Copy 直接使用函数名调用,可以将其想象成 Shell 中的一条命令 函数内部可以直接使用参数1、2…、 函数传参...方法 函数 方法一 return 方法二 echo 使用 return 返回值 使用return返回值,只能返回 1-255 的整数 函数使用return返回值,通常只是用来供其他地方调用获取状态,...全局变量 不做特殊声明, Shell中变量都是全局变量 大型脚本程序中函数中慎用全局变量 局部变量 定义变量时,使用local关键字 函数内外若存在同名变量,则函数内部变量覆盖外部变量 例子....lib 库文件通常没有可执行选项 库文件无需脚本在同级目录,只需在脚本中引用时指定 第一行一般使用 #!

25310
领券