Đầu tiên, chúng ta cùng xem vấn đề ở đây là gì?
Thứ nhất, có rất nhiều cổng chạy trên server mà được sử dụng bởi các dịch vụ( các service). Một số rất dễ kiểm soát như các ứng dụng mà bạn deploy hay các cổng của database.
Tuy nhiên, khi bạn cài đặt các ứng dụng bên thứ 3, bạn sẽ không chắc là ứng dụng đó chaỵ trên port nào, hay đơn giản là bạn không quan tâm vì port của ứng dụng đó thay đổi mỗi khi khởi chạy.

Rồi tới 1 ngày, bạn nhận ra ứng dụng bạn deploy lên không thể khởi chạy. nguyên nhân là do ĐÃ CÓ MỘT ỨNG DỤNG KHÁC SỬ DỤNG CỔNG MÀ BẠN ĐANG MUỐN SỬ DỤNG, tôi giả sử đó là cổng 1234.

Vậy làm sao để xử lý nó? Hôm nay, đúng như tiêu đề bài viết, tôi sẽ đưa bạn 1 cách để xử lý vấn đề trên đó là làm ngưng hoạt động của process đang chiếm hữu cổng 1234( tôi giả sử ở trên) và bạn sẽ có thể sử dụng cổng 1234 sau này.
Kill một process chỉ dựa và port của process đó.

Trước tiên bạn vẫn phải kiểm tra xem, liệu cổng 1234 đang được sử dụng bởi ứng dụng nào, hay nói cách khác, nó có quan trọng trong hệ thống không, tạm dừng process này thì mọi ứng dụng có còn hoạt động không? Chúng ta kiểm tra bằng cách:
Trên termilar enter: sudo cat /etc/services | grep 1234

Câu lện trên sẽ cho bạn biết: tên process, port, giao thức. 

Rồi, sau đó, kill nó nếu như nó chả có tác dụng trong hệ thống của bạn.
Hãy sử dụng: sudo kill -9 $(sudo lsof -t -i:1234)
Nếu thành công, termial sẽ không thông báo gì.
Còn nếu cổng đó không tồn tại, hoặc vì lý do nào đó mà không kill được, bạn sẽ gặp lỗi như ảnh dưới:

Ok, vậy là hôm nay mình đã chia sẻ cho các bạn cách kill đi process mà chỉ biết được process đó chạy trên cổng nào rồi!
Chúc các bạn một tuần làm việc vui vẻ và đầy sức khỏe nhé ❤