mirror of
https://github.com/bettercap/bettercap
synced 2025-08-14 10:46:57 -07:00
new: asking confirmation when the session is closed with CTRL+C / SIGINT
(closes #319)
This commit is contained in:
parent
6c43fb7673
commit
924387faf2
2 changed files with 15 additions and 4 deletions
14
main.go
14
main.go
|
@ -4,6 +4,7 @@ import (
|
|||
"fmt"
|
||||
"io"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/bettercap/bettercap/core"
|
||||
"github.com/bettercap/bettercap/log"
|
||||
|
@ -90,8 +91,19 @@ func main() {
|
|||
if err != nil {
|
||||
if err == io.EOF {
|
||||
continue
|
||||
} else if err.Error() == "Interrupt" {
|
||||
var ans string
|
||||
fmt.Printf("Are you sure you want to quit this session? y/n ")
|
||||
fmt.Scan(&ans)
|
||||
|
||||
if strings.ToLower(ans) == "y" {
|
||||
sess.Run("exit")
|
||||
os.Exit(0)
|
||||
}
|
||||
continue
|
||||
} else {
|
||||
log.Fatal("%s", err)
|
||||
}
|
||||
log.Fatal("%s", err)
|
||||
}
|
||||
|
||||
for _, cmd := range session.ParseCommands(line) {
|
||||
|
|
|
@ -347,9 +347,8 @@ func (s *Session) startNetMon() {
|
|||
}
|
||||
|
||||
func (s *Session) setupSignals() {
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, os.Interrupt)
|
||||
signal.Notify(c, syscall.SIGTERM)
|
||||
c := make(chan os.Signal)
|
||||
signal.Notify(c, os.Interrupt, syscall.SIGTERM)
|
||||
go func() {
|
||||
<-c
|
||||
fmt.Println()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue