Skip to main content

SIGINT (Ctrl-C) 時の動作を書く

Bash

ハンドラ用に関数を定義

bash
on_sigint() { # Ctrl+C
printf '\nCancelled.\n' >&2
return 130
}

SIGINT の監視の開始

bash
trap on_sigint INT

SIGINT の監視の終了

bash
trap - INT

PowerShell

ps1
trap {
Write-Error "Cancelled."
break
}

これは SIGINT 専用ではなく、terminating error 全般を拾う点に注意。

また、try .. finally で済むなら、そのほうが素直かも。

ps1
try {
# main
}
finally {
Write-Error 'Cancelled.'
}

以下広告