在脚本运行时禁用 ctrl c 和 ctrl z

tes*_*787 6 terminal signals shell-script

我有一个需要大约 45 秒才能运行的脚本。如何在脚本运行时禁用Ctrl-cCtrl- z

Cel*_*ada 9

尽管您可以禁用Ctrl-c并且Ctrl-z通过禁用这些终端设置或将终端设置为 raw more 或其他解决方案,但通常最好让它们保持启用状态并对结果信号做出反应。您可以为信号安装处理程序,而让处理程序什么都不做。

安装处理程序的方式取决于您使用的编程语言。你还没有说你在使用什么,但这里有几个例子:

贝壳:

#!/bin/sh

trap '' INT TSTP
Run Code Online (Sandbox Code Playgroud)

Python:

#!/usr/bin/python

import signal

signal.signal(signal.SIGINT, signal.SIG_IGN)
signal.signal(signal.SIGTSTP, signal.SIG_IGN)
Run Code Online (Sandbox Code Playgroud)