Ho un red5 server (JAVA) in esecuzione sul mio server Linux.Linux: come eliminare i programmi che utilizzano la porta 1935?
A volte il server si arresta. Quando provo a riavviarlo, ho ricevuto un messaggio di errore:
"Errore di connessione, questa porta è alerady in uso".
così cerco di uccidere il server con killall -9 java e provare a riavviare il server: stesso errore.
Devo aspettare un po '(circa 2-3 minuti) e riavviarlo di nuovo: funziona.
Ho solo bisogno di sapere perché quando uccido il processo devo ancora aspettare 2-3 minuti prima che la porta 1935 sia libera e posso eseguire nuovamente il server.
C'è un modo per interrompere immediatamente questo processo e liberare la porta?
non lo faccio credere alle risposte che incolpano SIGKILL per una fallita pulizia del porto. Il sistema operativo sa perfettamente che il processo è finito e cede le sue risorse nel modo standard. Il modo standard per una porta di ascolto TCP appena chiusa non deve essere a disposizione per qualche tempo per precludere le connessioni al server sbagliato. Questo può essere evitato più facilmente usando SO_REUSEADDR come menzionato nella risposta di Justin. –