首页 > 系统相关 >Shell 脚本演示 Linux 中的 Wait 命令

Shell 脚本演示 Linux 中的 Wait 命令

时间:2024-06-02 22:43:57浏览次数:25  
标签:Shell 命令 Linux 进程 wait ID Wait

Wait命令是进程管理命令之一。Linux 中有不同的进程命令,主要使用 5 个命令,它们是pswaitsleepkillexit

ps是进程状态缩写。它显示有关活动进程的信息。wait命令将暂停调用线程的执行,直到其子进程之一终止。它将返回该命令的退出状态。sleep命令用于将下一个命令的执行延迟给定的秒数、小时数、分钟数、天数。kill用于终止后台运行的进程。向进程发送终止信号,然后进程停止。它以进程 ID 作为参数。exit命令用于退出当前 shell 环境。

 

让我们通过一些例子来进一步了解 wait 命令:

wait是 Linux shell 中的一个内置命令。它等待进程改变其状态,即等待任何正在运行的进程完成并返回退出状态。

句法:

 

wait [ID]

此处,ID 是PID(进程标识符),对于每个正在运行的进程都是唯一的。要查找进程的进程 ID,可以使用以下命令:

pidof [process_name]

方法:

  • 创建一个简单的过程。
  • 使用特殊变量($!)来查找该特定进程的 PID(进程 ID)。
  • 打印进程 ID。
  • 使用带有进程 ID 的wait命令作为参数来等待该进程完成。
  • 进程完成后,打印进程 ID 及其退出状态

注意:存在状态 0 表示该过程已成功执行且没有任何问题。除 0 以外的任何值均表示该过程尚未成功完成。

脚本:

 

#!/bin/bash

# creating simple process that will create file and write into it
cat > GEEKSFORGEEKS.txt <<< "Something is going to save into this file" &

# this will store the process id of the running process
# $! is a special variable in bash 
# that will hold the PID of the last active process i.e. creating a file.
pid=$!

# print process is running with its PID
echo "Process with PID $pid is running"

# Waiting until process is Completed
wait $pid

# print process id with its Exit status
# $? is special variable that holds the return value of the recently executed command.
echo "Process with PID $pid has finished with Exit status: $?"

 

标签:Shell,命令,Linux,进程,wait,ID,Wait
From: https://www.cnblogs.com/wonchaofan/p/18227769

相关文章

  • Shell阶段10 awk工作原理, 内部变量, 正则/比较/条件/逻辑表达式, 判断语句, 循环语
    AWK什么是awkawk是一个编程语言主要作用:对文本和数据的处理awk处理数据的流程1.扫描文件内容,从上到下进行扫描,按照行进行处理2.寻找匹配到的内容,进行读取到特定的模式中,进行行处理3.行满足指定模式动作,则输出到屏幕上面,不满足丢弃4.接着读取下一行继续处理,接着循环,直......
  • springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行解决方法
    问题描述:springboot本地运行正常,打包jar包上传Linux服务器后报错,无法正常运行说明:以下两种打包方式均在IDEA软件内完成,上传服务器使用宝塔面板管理1.第一次打包方式; 设置完打包路径后,进入build菜单进行打包:  选择build或rebuild进行打包,打包后上传jar包到服务器,运......
  • PowerShell
    目录确定当前PowerShell版本PowerShell命令参考命令行Shell脚本语言自动化平台配置管理PowerShellMarkdown最佳做法PowerShell相关学习模块PowerShellcmdlet使用cmdlet探索PowerShell谓词使用Get-Command查找命令根据名称筛选根据名词和谓词进行筛选使用帮助程序cmdlet......
  • linux服务器硬件及RAID配置实战
    RAID磁盘阵列介绍是RedundantArrayofIndenpendentDisks的缩写,中文简称为独立冗余磁盘阵列把多个独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式称为RAID级别(RAIDLevels)常用......
  • 【Linux 网络】网络基础(三)(其他重要协议或技术:DNS、ICMP、NAT)
    一、DNS(DomainNameSystem)DNS 是一整套从域名映射到 IP 的系统。1、DNS 背景TCP/IP 中使用 IP 地址和端口号来确定网络上的一台主机的一个程序,但是 IP 地址不方便记忆。于是人们发明了一种叫主机名的东西,是一个字符串,并且使用 hosts 文件来描述主机名......
  • U-boot、linux内核、根文件系统移植以及程序
    终于这几天把这个移植的流程过了一遍,所以特此回来总结。U-boot移植首先是U-boot移植。Linux系统要启动就必须需要一个bootloader程序,也就说芯片上电以后先运行一段bootloader程序。这段bootloader程序会先初始化DDR等外设,然后将Linux内核从flash(NAND,NORFLASH,SD,MMC等)拷......
  • TCP_FLAGS_INVALID_10: [finwait-2] (otw SEQ)-> ACK(seq) [finwait-2]
    测试目的:验证TCP在FINWAIT-2状态下,接收到一个序列号超出窗口(OTW)的段时,是否能够发送一个ACK段,并保持在相同的状态。描述:TCP在FINWAIT-2状态下,如果接收到一个没有RST标志且序列号超出接收窗口的段,它必须发送一个ACK段,其中确认号表示期望的下一个序列号,并保持在FINWAIT-2状......
  • Linux下GMAC网络设备:硬件接口、GMAC/PHY、驱动、测试程序
    1嵌入式网络硬件接口如下是常见的嵌入式网络硬件接口框图:SOC集成MAC。MAC通过MII系列接口和PHY之间传输数据,通过MDIO接口初始化配置PHY芯片。PHY芯片和RJ45之间通过4组差分模拟信号传输数据,并驱动RJ45的LED信号灯。RJ45通过网线和外部连接。1.1嵌入式网络几种常见架构......
  • Linux-shell的108个案例
    通用函数库#catdiy_func.shredecho(){ #颜色开头部分 echo-ne"\e[5;31m" #取出要加上颜色的内容 echo-n"$@" #颜色的结束部分 echo-e"\e[0m" #echo-e"\e[5;31m$@\e[0m"}greenecho(){ echo-ne"\e[1;32m" ec......
  • Linux-samba-Ubuntu
    sudoaptinstallsamba-ymkdir-pSharechmod0777Sharesudocp/etc/samba/smb.conf/etc/samba/smb.conf.baksudovim/etc/samba/smb.conf[Ubuntu_22.04] comment=Samba path=/home/grayson/Share public=yes writable=yes available=yes browsea......