Tuesday, August 25, 2020

How to install a python library mysql-connector-python manually

  • ประเด็นมีอยู่ว่าต้องการให้ python ติดตั้ง driver mysql ไม่ได้ 
  • Ubuntu 18.04 ของ DMZ รัน pip3 install ไม่ได้ เพราะลง python-pip3 ไม่ได้ เพราะ sudo apt-get install ไม่ได้ น่าจะติด Firewall
  • แต่ Ubuntu 18.04 ของ Workstation sudo apt install และ pip install ได้ปกติ

Solved

  • ที่เครื่อง Workstation แล้วดูพาธที่มันไปโหลด lib มา
# pip3 install mysql-connector-python

  • มันเป็นพาธไฟล์ .whl ให้เรา rename เป็น .zip  

  • ข้างในไฟล์ zip เราจะได้ประมาณนี้ แตกไฟล์ไปที่ เครื่องที่ pip install ไม่ได้ ไปที่พาธนี้

/usr/local/lib/python3.x/dist-packages

  • เรียบร้อยทดสอบผ่าน
Add
  • หรือเราจะไปคัดลอก lib ใน
/usr/local/lib/python3.x/dist-packages
  • หรือใน
/usr/local/lib/python3.x/site-packages
  • ไปวางเครื่องที่ pip ไม่ได้จบคับ
  • ดูเวอร์ชั่น python ให้ตรงกันด้วย เพราะ lib มันใช้ เวอร์ชั่นของใครของมัน
  • หรือไปดูใน /usr/lib/python_x.x

Ref

Thursday, August 13, 2020

Kill process by port number Linux

  • ประเด็นคือ หัดเขียน Python network programming แบบ Server-Client
  • พอสั่งปิดโปรแกรมแต่ port มันยังถูกเปิดใช้งานอยู่เลย
  • แก้โค้ดจะรันใหม่ ก็รันบ่ได้ เพราะ port ที่จะรันถูกใช้งานอยู่ ทั้งที่เราปิดโปรแกรมนั้นไปแล้วนะ

Env

  • Ubuntu 18.04
  • Python 3 code Netword Programming

Solved

  • ตัวอย่างจะเป็นการปิด process ที่เปิด port 8888 บน TCP ให้มันเลิกทำงาน
  • user ที่ไม่ใช่ root เปิดใช้ port ให้ kill process แบบนี้

$ fuser -k 8888/tcp

  • root รันโปรแกรม ให้เราใส่ sudo นำหน้าด้วย

$ sudo fuser -k 8888/tcp

Add

  • เพิ่มเติม ถ้าเราจะ kill process ด้วย id ก็สั่งประมาณนี้ (1234 คือ process id)
  • list หา process id ทั้งหมด

$ ps -a

  • list หา process id แบบ filter by name

$ ps -a | grep "program name"

  • เมื่อเราได้ process id (PID) จากคำสั่งด้านบนแล้วก็ kill ได้เลย

$ kill 1234

$ sudo kill 1234

Ref

Popular Posts