ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

pt-killp - ออนไลน์ในคลาวด์

เรียกใช้ pt-killp ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง pt-killp ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


pt-kill - ฆ่าการสืบค้น MySQL ที่ตรงกับเกณฑ์บางอย่าง

เรื่องย่อ


การใช้งาน: pt-kill [ตัวเลือก] [DSN]

pt-kill ฆ่าการเชื่อมต่อ MySQL pt-kill เชื่อมต่อกับ MySQL และรับข้อความค้นหาจาก SHOW
PROCESSLIST หากไม่มีไฟล์ให้ มิฉะนั้นจะอ่านข้อความค้นหาจากไฟล์หนึ่งไฟล์ขึ้นไปซึ่ง
มีผลลัพธ์ของ SHOW PROCESSLIST ถ้า FILE เป็น - ให้ pt-kill อ่านจาก STDIN

คำสั่งฆ่าที่ทำงานนานกว่า 60 วินาที:

pt-kill -- เวลาไม่ว่าง 60 -- ฆ่า

พิมพ์ ห้ามฆ่า คิวรีทำงานนานกว่า 60 วินาที:

pt-kill -- เวลาไม่ว่าง 60 -- พิมพ์

ตรวจสอบกระบวนการสลีปและฆ่าพวกมันทุก ๆ 10 วินาที:

pt-kill --match-command Sleep --kill --เหยื่อทั้งหมด --ช่วง 10

พิมพ์กระบวนการเข้าสู่ระบบทั้งหมด:

pt-kill --match-state เข้าสู่ระบบ --print --victims all

ดูว่าคำค้นหาใดในรายการกระบวนการในตอนนี้ที่จะจับคู่:

mysql -e "แสดงกระบวนการ" > proclist.txt
pt-kill -- ทดสอบการจับคู่ proclist.txt -- เวลาไม่ว่าง 60 -- พิมพ์

ความเสี่ยง


Percona Toolkit ได้รับการพัฒนา พิสูจน์แล้วในโลกแห่งความเป็นจริง และผ่านการทดสอบอย่างดี แต่ฐานข้อมูลทั้งหมด
เครื่องมือสามารถก่อให้เกิดความเสี่ยงต่อระบบและเซิร์ฟเวอร์ฐานข้อมูล ก่อนใช้เครื่องมือนี้
กรุณา:

· อ่านเอกสารประกอบของเครื่องมือ

·ตรวจสอบเครื่องมือที่เรียกว่า "BUGS"

· ทดสอบเครื่องมือบนเซิร์ฟเวอร์ที่ไม่ได้ใช้งานจริง

·สำรองเซิร์ฟเวอร์ที่ใช้งานจริงของคุณและตรวจสอบการสำรองข้อมูล

DESCRIPTION


pt-kill จับการสืบค้นจาก SHOW PROCESSLIST กรองพวกมัน จากนั้นจึงทำการ kill หรือ
พิมพ์พวกเขา สิ่งนี้เรียกอีกอย่างว่า "สไนเปอร์แบบสอบถามช้า" ในบางแวดวง ความคิดคือการ
คอยดูข้อความค้นหาที่อาจใช้ทรัพยากรมากเกินไป และฆ่าทิ้ง

เพื่อความกระชับ เราพูดถึงการฆ่าแบบสอบถาม แต่อาจพิมพ์ออกมาได้ (หรืออย่างอื่น
การดำเนินการในอนาคต) ขึ้นอยู่กับตัวเลือกที่ได้รับ

โดยปกติ pt-kill จะเชื่อมต่อกับ MySQL เพื่อรับข้อความค้นหาจาก SHOW PROCESSLIST อีกทางหนึ่ง
มันสามารถอ่านเอาต์พุต SHOW PROCESSLIST จากไฟล์ ในกรณีนี้ pt-kill จะไม่เชื่อมต่อกับ
MySQL และ "--kill" ไม่มีผล คุณควรใช้ "--print" แทนเมื่ออ่านไฟล์
ความสามารถในการอ่านไฟล์ด้วย "--test-matching" ช่วยให้คุณสามารถจับภาพ SHOW PROCESSLIST
และทดสอบในภายหลังด้วย pt-kill เพื่อให้แน่ใจว่าการจับคู่ของคุณฆ่าการสืบค้นที่เหมาะสม
มีกฎพิเศษมากมายที่ต้องปฏิบัติตาม เช่น "อย่าฆ่าเธรดการจำลอง" ดังนั้น
ระวังอย่าฆ่าสิ่งที่สำคัญ!

สองทางเลือกที่สำคัญที่ควรทราบคือ "--busy-time" และ "--victims" ครั้งแรกในขณะที่ส่วนใหญ่
ตัวเลือกการจับคู่/ตัวกรองตรงกับค่าที่เกี่ยวข้องจาก SHOW PROCESSLIST (เช่น
"--match-command" ตรงกับค่า Command ของข้อความค้นหา) ค่า Time จะจับคู่กับ
"--เวลายุ่ง". ดูเพิ่มเติมที่ "--ช่วงเวลา"

ประการที่สอง "--เหยื่อ" ควบคุมว่าคำค้นหาที่ตรงกันจากแต่ละคลาสจะถูกฆ่า โดย
ค่าเริ่มต้น แบบสอบถามที่ตรงกันที่มีค่าเวลาสูงสุดจะถูกฆ่า (แบบสอบถามที่เก่าที่สุด) ดู
ส่วนถัดไป "กลุ่ม จับคู่และฆ่า" สำหรับรายละเอียดเพิ่มเติม

โดยปกติ คุณต้องระบุตัวเลือก "--match" อย่างน้อยหนึ่งตัวเลือก มิฉะนั้นจะไม่มีข้อความค้นหาที่ตรงกัน
หรือคุณสามารถระบุ "--match-all" เพื่อจับคู่ข้อความค้นหาทั้งหมดที่ an . ไม่สนใจ
"--ละเว้น" ตัวเลือก

กลุ่ม, MATCH AND ฆ่า


แบบสอบถามจะผ่านหลายขั้นตอนเพื่อกำหนดว่าอันไหนจะถูกฆ่า (หรือ
พิมพ์ -- การกระทำใด ๆ ที่ระบุไว้) การทำความเข้าใจขั้นตอนเหล่านี้จะช่วยให้คุณจับคู่ได้
ได้อย่างแม่นยำคำถามที่คุณต้องการ

ขั้นตอนแรกคือการจัดกลุ่มแบบสอบถามเป็นชั้นเรียน ตัวเลือก "--จัดกลุ่มตาม" ควบคุม
การจัดกลุ่ม โดยค่าเริ่มต้น ตัวเลือกนี้ไม่มีค่า ดังนั้นการสืบค้นทั้งหมดจะถูกจัดกลุ่มเป็นหนึ่ง
คลาสเริ่มต้น การจับคู่และการกรองทุกประเภท (ขั้นตอนถัดไป) จะใช้ต่อชั้นเรียน
ดังนั้น คุณอาจต้องจัดกลุ่มการสืบค้นเพื่อจับคู่/กรองบางคลาส แต่ไม่ใช่
คนอื่น ๆ

ขั้นตอนที่สองคือการจับคู่ การจับคู่หมายถึงการกรองเนื่องจากหากข้อความค้นหาไม่ตรงกัน
เกณฑ์บางอย่างจะถูกลบออกจากชั้นเรียน การจับคู่เกิดขึ้นสำหรับแต่ละชั้นเรียน อันดับแรก,
ข้อความค้นหาถูกกรองจากชั้นเรียนโดยตัวเลือก "การจับคู่คำค้นหา" ต่างๆ เช่น
"--จับคู่ผู้ใช้". จากนั้น คลาสทั้งหมดจะถูกกรองโดยตัวเลือก "การจับคู่คลาส" ต่างๆ
เช่น "--query-count"

ขั้นตอนที่สามคือการเลือกเหยื่อ นั่นคือ ซึ่งตรงกับคำถามในแต่ละคลาสที่จะฆ่า
สิ่งนี้ถูกควบคุมโดยตัวเลือก "--เหยื่อ" แม้ว่าคำถามจำนวนมากในชั้นเรียนอาจตรงกัน
คุณอาจต้องการฆ่าเฉพาะข้อความค้นหาที่เก่าที่สุด หรือข้อความค้นหาทั้งหมด ฯลฯ

ขั้นตอนที่สี่และขั้นตอนสุดท้ายคือการดำเนินการกับข้อความค้นหาที่ตรงกันทั้งหมดจากทุกชั้นเรียน
ตัวเลือก "การดำเนินการ" ระบุการดำเนินการที่จะดำเนินการ ในขั้นตอนนี้ไม่มี
คลาสเพิ่มเติม เพียงรายการเดียวของคำถามที่จะฆ่า พิมพ์ ฯลฯ

เอาท์พุท


หากให้เฉพาะ "--kill" จะไม่มีเอาต์พุต หากให้เฉพาะ "--print" แล้ว a
คำสั่ง KILL ประทับเวลาหากพิมพ์สำหรับทุกการสืบค้นที่จะถูกฆ่า เช่น:

# 2009-07-15T15:04:01 KILL 8 (แบบสอบถาม 42 วินาที) เลือก * จาก huge_table

บรรทัดแสดงการประทับเวลา รหัสของคิวรี (8) เวลา (42 วินาที) และข้อมูล (โดยปกติคือ
แบบสอบถาม SQL)

หากให้ทั้ง "--kill" และ "--print" ข้อความค้นหาที่ตรงกันจะหยุดลงและขึ้นบรรทัดสำหรับ
พิมพ์แต่ละอย่างด้านบน

คำสั่งใด ๆ ที่ดำเนินการโดย "--execute-command" มีหน้าที่รับผิดชอบในการส่งออกและการบันทึกของตัวเอง
หลังจากดำเนินการแล้ว pt-kill จะไม่มีการควบคุมหรือการโต้ตอบกับคำสั่ง

OPTIONS


ระบุ "--kill", "--kill-query", "--print", "--execute-command" หรือ
"--หยุด".

"--any-busy-time" และ "--each-busy-time" จะไม่เกิดร่วมกัน

"--kill" และ "--kill-query" จะไม่เกิดร่วมกัน

"--daemonize" และ "-test-matching" จะไม่เกิดร่วมกัน

เครื่องมือนี้ยอมรับอาร์กิวเมนต์บรรทัดคำสั่งเพิ่มเติม อ้างถึง "บทสรุป" และการใช้งาน
ข้อมูลสำหรับรายละเอียด

--ขอผ่าน
ถามรหัสผ่านเมื่อเชื่อมต่อกับ MySQL

--ชุดอักขระ
แบบสั้น: -A; ประเภท: string

ชุดอักขระเริ่มต้น หากค่าเป็น utf8 ให้ตั้งค่า binmode ของ Perl บน STDOUT เป็น utf8
ส่งผ่านตัวเลือก mysql_enable_utf8 ไปยัง DBD::mysql และรัน SET NAMES UTF8 หลังจากนั้น
เชื่อมต่อกับ MySQL ค่าอื่น ๆ ตั้งค่า binmode บน STDOUT โดยไม่มีเลเยอร์ utf8
และรัน SET NAMES หลังจากเชื่อมต่อกับ MySQL

--การกำหนดค่า
ชนิด: Array

อ่านรายการไฟล์ปรับแต่งที่คั่นด้วยเครื่องหมายจุลภาค ถ้าระบุ ต้องนี่ก่อน
ตัวเลือกบนบรรทัดคำสั่ง

--create-บันทึกตาราง
สร้างตาราง "--log-dsn" หากไม่มีอยู่

ตัวเลือกนี้ทำให้ตารางที่ระบุโดย "--log-dsn" ถูกสร้างขึ้นด้วยค่าเริ่มต้น
โครงสร้างที่แสดงในเอกสารประกอบสำหรับตัวเลือกนั้น

--ปีศาจ
ส้อมไปที่พื้นหลังและแยกออกจากเปลือก ระบบปฏิบัติการ POSIX เท่านั้น

--ฐานข้อมูล
แบบสั้น: -D; ประเภท: string

ฐานข้อมูลที่จะใช้ในการเชื่อมต่อ

--defaults-ไฟล์
แบบสั้น: -F; ประเภท: string

อ่านเฉพาะตัวเลือก mysql จากไฟล์ที่กำหนด คุณต้องระบุชื่อพาธที่แน่นอน

--กรอง
ประเภท: string

ยกเลิกเหตุการณ์ที่โค้ด Perl นี้ไม่คืนค่าเป็นจริง

ตัวเลือกนี้เป็นสตริงของรหัส Perl หรือไฟล์ที่มีรหัส Perl ที่ได้รับการคอมไพล์
ลงในรูทีนย่อยที่มีอาร์กิวเมนต์เดียว: $event นี่คือแฮชรีฟ ถ้าค่าที่กำหนด
เป็นไฟล์ที่อ่านได้ จากนั้น pt-kill จะอ่านไฟล์ทั้งหมดและใช้เนื้อหาเป็นไฟล์
รหัส. ไฟล์ไม่ควรมี shebang (#!/usr/bin/perl) ไลน์.

ถ้าโค้ดคืนค่าเป็น true สายของ callbacks จะดำเนินต่อไป มิฉะนั้นจะสิ้นสุดลง ดิ
รหัสเป็นคำสั่งสุดท้ายในรูทีนย่อยอื่นที่ไม่ใช่ "return $event" ดิ
แม่แบบรูทีนย่อยคือ:

ย่อย { $ event = shift; กรอง && ส่งคืน $event; }

ตัวกรองที่กำหนดในบรรทัดคำสั่งจะอยู่ในวงเล็บเช่น "( filter
)" สำหรับตัวกรองหลายบรรทัดที่ซับซ้อน คุณต้องใส่โค้ดในไฟล์จึงจะ
ไม่อยู่ในวงเล็บ ไม่ว่าจะด้วยวิธีใด ตัวกรองต้องสร้างวากยสัมพันธ์
รหัสที่ถูกต้องที่ได้รับจากแม่แบบ ตัวอย่างเช่น สาขา if-else ที่กำหนดบนคำสั่ง
บรรทัดจะไม่ถูกต้อง:

--filter 'if () { } else { }' # ผิด

เนื่องจากได้รับในบรรทัดคำสั่ง if-else branch จะถูกรวมไว้ภายใน
วงเล็บที่ไม่ถูกต้องตามวากยสัมพันธ์ เพื่อที่จะบรรลุสิ่งที่ซับซ้อนมากขึ้น
แบบนี้จะต้องใส่รหัสในไฟล์เช่น filter.txt:

$event_ok ของฉัน; ถ้า (...) { $event_ok=1; } อื่นๆ { $event_ok=0; } $event_ok

จากนั้นระบุ "--filter filter.txt" เพื่ออ่านโค้ดจาก filter.txt

หากโค้ดตัวกรองไม่คอมไพล์ pt-kill จะตายพร้อมกับข้อผิดพลาด หากรหัสตัวกรอง
คอมไพล์แล้ว อาจยังคงเกิดข้อผิดพลาดขณะรันไทม์หากโค้ดพยายามทำอะไรบางอย่าง
ผิด (เช่นรูปแบบตรงกับค่าที่ไม่ได้กำหนด) pt-kill ไม่ได้ให้อะไร
ป้องกันดังนั้นรหัสอย่างระมัดระวัง!

อนุญาตให้โค้ดมีผลข้างเคียง (เพื่อแก้ไข $event)

--group-โดย
ประเภท: string

ใช้การจับคู่กับแบบสอบถามแต่ละคลาสที่จัดกลุ่มตามคอลัมน์ SHOW PROCESSLIST นี้ ใน
นอกเหนือจากคอลัมน์พื้นฐานของ SHOW PROCESSLIST (ผู้ใช้ โฮสต์ คำสั่ง สถานะ ฯลฯ)
แบบสอบถามสามารถจับคู่โดย "ลายนิ้วมือ" ซึ่งสรุปแบบสอบถาม SQL ใน "ข้อมูล"
คอลัมน์.

ตามค่าเริ่มต้น ข้อความค้นหาจะไม่ถูกจัดกลุ่ม ดังนั้นการจับคู่และการดำเนินการจึงมีผลกับการค้นหาทั้งหมด
การจัดกลุ่มช่วยให้การจับคู่และการดำเนินการนำไปใช้กับคลาสของข้อความค้นหาที่คล้ายกัน หากมี
แบบสอบถามในการแข่งขันระดับ

ตัวอย่างเช่น การตรวจจับแคชแตกตื่น (ดู "ทั้งหมดแต่เก่าที่สุด" ใต้ "--เหยื่อ" สำหรับ
คำอธิบายของคำศัพท์นั้น) กำหนดให้การสืบค้นถูกจัดกลุ่มตามแอตทริบิวต์ "arg"
สิ่งนี้สร้างคลาสของการสืบค้นที่เหมือนกัน (ถอดความคิดเห็น) ดังนั้นแบบสอบถาม "SELECT
c FROM t WHERE id=1" และ "SELECT c FROM t WHERE id=1" ถูกจัดกลุ่มเป็นคลาสเดียวกัน
แต่ข้อความค้นหา c<"SELECT c FROM t WHERE id=3"> ไม่เหมือนกับสองข้อความค้นหาแรกดังนั้น
มันถูกจัดกลุ่มเป็นคลาสอื่น จากนั้นเมื่อมีการระบุ "--เหยื่อ" "ทั้งหมดแต่เก่าที่สุด"
ทั้งหมดยกเว้นแบบสอบถามที่เก่าที่สุดในแต่ละชั้นจะถูกฆ่าสำหรับแต่ละชั้นของแบบสอบถามที่
ตรงกับเกณฑ์การจับคู่

--ช่วยด้วย
แสดงความช่วยเหลือและออก

--เจ้าภาพ
แบบสั้น: -h; ชนิด: สตริง; ค่าเริ่มต้น: localhost

เชื่อมต่อกับโฮสต์

--ช่วงเวลา
ประเภท: เวลา

บ่อยแค่ไหนที่จะตรวจสอบแบบสอบถามเพื่อฆ่า หากไม่ระบุ "--busy-time" แสดงว่า
ช่วงเวลาเริ่มต้นคือ 30 วินาที มิฉะนั้น ค่าเริ่มต้นจะเป็นครึ่งหนึ่งของ "--busy-time"
หากกำหนดทั้ง "--ช่วง" และ "--busy-time" ค่า "--ช่วง" ที่ชัดเจน
ถูกนำมาใช้.

ดูเพิ่มเติมที่ "--รันไทม์"

--บันทึก
ประเภท: string

พิมพ์เอาต์พุตทั้งหมดไปยังไฟล์นี้เมื่อ daemonized

--log-dsn
ชนิด: DSN

จัดเก็บการสืบค้นข้อมูลแต่ละรายการใน DSN นี้

อาร์กิวเมนต์ระบุตารางเพื่อเก็บแบบสอบถามที่ถูกฆ่าทั้งหมด DSN ผ่านใน must
มีตัวเลือก databse (D) และตาราง (t) ตารางต้องมีอย่างน้อยดังต่อไปนี้
คอลัมน์ คุณสามารถเพิ่มคอลัมน์เพื่อวัตถุประสงค์พิเศษของคุณเองได้ แต่จะไม่เป็นเช่นนั้น
ใช้โดย pt-kill คำจำกัดความ CREATE TABLE ต่อไปนี้ยังใช้สำหรับ
"--create-log-table". MAGIC_create_log_table:

สร้างตาราง kill_log (
ฆ่า_id int(10) ไม่ได้ลงนามไม่ใช่ NULL AUTO_INCREMENT
เซิร์ฟเวอร์_id ใหญ่(4) ไม่ใช่ค่าเริ่มต้น '0'
การประทับเวลา DATETIME,
ข้อความเหตุผล,
kill_error ข้อความ
Id ใหญ่(4) ไม่ใช่ค่าเริ่มต้น '0'
ผู้ใช้งาน วาร์ชาร์(16) ไม่ใช่ค่าเริ่มต้นเป็นโมฆะ '',
เจ้าของห้องพัก วาร์ชาร์(64) ไม่ใช่ค่าเริ่มต้นเป็นโมฆะ '',
db วาร์ชาร์(64) ค่าเริ่มต้น NULL,
คำสั่ง วาร์ชาร์(16) ไม่ใช่ค่าเริ่มต้นเป็นโมฆะ '',
เวลา int(7) ไม่ใช่ค่าเริ่มต้น '0'
สถานะ วาร์ชาร์(64) ค่าเริ่มต้น NULL,
ข้อมูลข้อความยาว
เวลา_ms ใหญ่(21) ค่าเริ่มต้น '0', # NOTE, TODO: ไม่ได้ใช้งานในขณะนี้
คีย์หลัก (kill_id)
) ค่าเริ่มต้น CHARSET=utf8

--รหัสผ่าน
แบบสั้น: -p; ประเภท: string

รหัสผ่านเพื่อใช้ในการเชื่อมต่อ หากรหัสผ่านมีเครื่องหมายจุลภาค จะต้องหลีกเลี่ยง
ด้วยแบ็กสแลช: "exam\,ple"

--ปิด
ประเภท: string

สร้างไฟล์ PID ที่กำหนด เครื่องมือจะไม่เริ่มทำงานหากมีไฟล์ PID อยู่แล้วและ
PID ที่มีอยู่ในนั้นแตกต่างจาก PID ปัจจุบัน อย่างไรก็ตาม หากไฟล์ PID
มีอยู่และ PID ที่มีอยู่ไม่ทำงานอีกต่อไป เครื่องมือจะเขียนทับ PID
ไฟล์ที่มี PID ปัจจุบัน ไฟล์ PID จะถูกลบออกโดยอัตโนมัติเมื่อเครื่องมือออก

--ท่า
แบบสั้น: -P; ประเภท: int

หมายเลขพอร์ตที่ใช้เชื่อมต่อ

--query-id
พิมพ์ ID ของแบบสอบถามที่เพิ่งถูกฆ่า ซึ่งเทียบเท่ากับเอาต์พุต "ID"
ของ pt-query-digest ซึ่งช่วยให้สามารถอ้างอิงโยงผลลัพธ์ของเครื่องมือทั้งสองได้

ตัวอย่าง:

รหัสแบบสอบถาม 0xE9800998ECF8427E

โปรดทราบว่านี่เป็นข้อมูลสรุป (หรือแฮช) ของ "ลายนิ้วมือ" ของข้อความค้นหา ดังนั้นคำถามของ
รูปแบบเดียวกันแต่มีค่าต่างกันจะมี ID เดียวกัน ดู pt-query-digest สำหรับ
ข้อมูลมากกว่านี้.

--rds
ระบุว่าอินสแตนซ์ที่เป็นปัญหาอยู่ใน Amazon RDS โดยค่าเริ่มต้น pt-kill จะรัน MySQL
คำสั่ง "kill" สำหรับ "--kill" และ "kill query" "--kill-query" บน RDS ทั้งสองนี้
คำสั่งไม่พร้อมใช้งานและถูกแทนที่ด้วยการเรียกใช้ฟังก์ชัน ตัวเลือกนี้จะแก้ไข
"--kill" เพื่อใช้ "CALL mysql.rds_kill(thread-id)" แทน และ "--kill-query" เพื่อใช้
"CALL mysql.rds_kill_query(thread-id)"

--รันไทม์
ประเภท: เวลา

นานแค่ไหนที่จะวิ่งก่อนที่จะออก โดยค่าเริ่มต้น pt-kill จะทำงานตลอดไปหรือจนกว่าจะถึงกระบวนการ
ถูกฆ่าหรือหยุดโดยการสร้างไฟล์ "--sentinel" หากตัวเลือกนี้คือ
ระบุ pt-kill จะทำงานตามระยะเวลาที่กำหนดและเข้าสู่โหมดสลีป "--ช่วงเวลา"
วินาทีระหว่างการตรวจสอบ PROCESSLIST แต่ละครั้ง

--แมวมอง
ชนิด: สตริง; ค่าเริ่มต้น: /tmp/pt-kill-sentinel

ออกหากมีไฟล์นี้อยู่

การมีอยู่ของไฟล์ที่ระบุโดย "--sentinel" จะทำให้อินสแตนซ์ที่ทำงานอยู่ทั้งหมดของ
pt-kill เพื่อออก คุณอาจพบว่ามีประโยชน์ในการหยุดงาน cron อย่างงดงามหากจำเป็น
ดูเพิ่มเติมที่ "--หยุด"

--set-vars
ชนิด: Array

ตั้งค่าตัวแปร MySQL ในรายการคู่ "variable=value" ที่คั่นด้วยเครื่องหมายจุลภาค

โดยค่าเริ่มต้น เครื่องมือจะตั้งค่า:

wait_timeout=10000

ตัวแปรที่ระบุในบรรทัดคำสั่งจะแทนที่ค่าเริ่มต้นเหล่านี้ ตัวอย่างเช่น,
การระบุ "--set-vars wait_timeout=500" จะแทนที่ค่าเริ่มต้นที่ 10000

เครื่องมือจะพิมพ์คำเตือนและดำเนินการต่อหากไม่สามารถตั้งค่าตัวแปรได้

--เบ้า
แบบฟอร์ม; ประเภท: string

ไฟล์ซ็อกเก็ตที่ใช้สำหรับการเชื่อมต่อ

--หยุด
หยุดเรียกใช้อินสแตนซ์โดยสร้างไฟล์ "--sentinel"

ทำให้ pt-kill สร้างไฟล์ Sentinel ที่ระบุโดย "--sentinel" และออก นี้
ควรมีผลในการหยุดอินสแตนซ์ที่ทำงานอยู่ทั้งหมดที่กำลังดูอยู่เหมือนกัน
ไฟล์ Sentinel

--[no]สตริปคอมเมนต์
ค่าเริ่มต้น: ใช่

ลบความคิดเห็น SQL ออกจากแบบสอบถามในคอลัมน์ข้อมูลของ PROCESSLIST

--ผู้ใช้
แบบสั้น: -u; ประเภท: string

ผู้ใช้สำหรับเข้าสู่ระบบหากไม่ใช่ผู้ใช้ปัจจุบัน

--รุ่น
แสดงเวอร์ชันและออก

--[ไม่] version-check
ค่าเริ่มต้น: ใช่

ตรวจสอบเวอร์ชันล่าสุดของ Percona Toolkit, MySQL และโปรแกรมอื่นๆ

นี่คือคุณสมบัติ "ตรวจหาการอัปเดตอัตโนมัติ" มาตรฐาน พร้อมด้วยคุณสมบัติเพิ่มเติมอีกสองรายการ
คุณสมบัติ. ขั้นแรก เครื่องมือจะตรวจสอบเวอร์ชันของโปรแกรมอื่นๆ บนระบบโลคัลใน
นอกจากเวอร์ชั่นของตัวเองแล้ว ตัวอย่างเช่น จะตรวจสอบเวอร์ชันของทุกเซิร์ฟเวอร์ MySQL
มันเชื่อมต่อกับ Perl และโมดูล Perl DBD::mysql ประการที่สอง ตรวจสอบและเตือน
เกี่ยวกับรุ่นที่มีปัญหาที่ทราบ ตัวอย่างเช่น MySQL 5.5.25 มีจุดบกพร่องที่สำคัญและ
ได้รับการเผยแพร่อีกครั้งในชื่อ 5.5.25a

การอัปเดตหรือปัญหาที่ทราบจะพิมพ์ไปที่ STDOUT ก่อนเอาต์พุตปกติของเครื่องมือ
คุณลักษณะนี้ไม่ควรรบกวนการทำงานปกติของเครื่องมือ

ดูรายละเอียดเพิ่มเติมได้ที่ .

--เหยื่อ
ชนิด: สตริง; ค่าเริ่มต้น: เก่าที่สุด

แบบสอบถามที่ตรงกันในแต่ละชั้นจะถูกฆ่า หลังเลิกเรียน
จับคู่/กรอง ตัวเลือกนี้จะระบุว่าคำค้นหาใดที่ตรงกันในแต่ละชั้นเรียน
จะถูกฆ่า (หรือพิมพ์ ฯลฯ) ค่าต่อไปนี้เป็นไปได้:

เก่าแก่ที่สุด
ฆ่าเฉพาะแบบสอบถามที่เก่าที่สุดเท่านั้น นี่คือการป้องกันการฆ่าแบบสอบถามที่ไม่ใช่
ระยะยาวจริงๆ พวกเขาแค่รอนาน จัดเรียงคำค้นหาที่ตรงกันโดย
เวลาและฆ่าหนึ่งที่มีค่าเวลาสูงสุด

all Kill ทุกคำถามในชั้นเรียน

ทั้งหมดแต่เก่าที่สุด
ฆ่าทั้งหมดยกเว้นแบบสอบถามที่เก่าที่สุด นี่คือค่าผกผันของค่าที่ "เก่าที่สุด"

ค่านี้สามารถใช้ป้องกัน "แคชแตกตื่น" เงื่อนไขที่หลาย
แบบสอบถามที่เหมือนกันจะถูกดำเนินการและสร้างงานในมือในขณะที่พยายามค้นหาครั้งแรก
ที่จะเสร็จสิ้น เนื่องจากข้อความค้นหาทั้งหมดเหมือนกัน ทั้งหมดยกเว้นข้อความค้นหาแรกจะถูกฆ่า ดังนั้น
ที่สามารถกรอกและเติมแคชได้

--รอ-หลัง-ฆ่า
ประเภท: เวลา

รอหลังจากฆ่าแบบสอบถามก่อนที่จะค้นหาเพิ่มเติมเพื่อฆ่า จุดประสงค์คือ
เพื่อให้การสืบค้นที่ถูกบล็อกมีโอกาสที่จะดำเนินการ ดังนั้นเราจะไม่ฆ่าการสืบค้นที่บล็อกอยู่
กลุ่มอื่น ๆ แล้วฆ่าคนอื่น ๆ ทันทีหลังจากนั้น

--รอก่อน-ฆ่า
ประเภท: เวลา

รอก่อนที่จะฆ่าแบบสอบถาม จุดประสงค์คือเพื่อให้ "--execute-command" a
โอกาสที่จะเห็นแบบสอบถามที่ตรงกันและรวบรวมข้อมูล MySQL หรือระบบอื่น ๆ มาก่อน
มันถูกฆ่าตาย

คำถาม การแข่งขัน
ตัวเลือกเหล่านี้กรองแบบสอบถามจากชั้นเรียนของพวกเขา หากคำค้นหาไม่ตรงกัน จะถูกลบออก
จากระดับของมัน ตัวเลือก "--ละเว้น" มีความสำคัญกว่า การจับคู่สำหรับคำสั่ง db
โฮสต์ ฯลฯ สอดคล้องกับคอลัมน์ที่ส่งคืนโดย SHOW PROCESSLIST: Command, db, Host เป็นต้น
การจับคู่รูปแบบทั้งหมดจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยค่าเริ่มต้น แต่สามารถกำหนดตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้
โดยการระบุรูปแบบ regex เช่น "(?i-xsm:select)"

ดูเพิ่มเติมที่ "กลุ่ม จับคู่และฆ่า"

--เวลายุ่ง
ประเภท: เวลา; กลุ่ม: การจับคู่คำค้นหา

จับคู่ข้อความค้นหาที่ทำงานนานกว่านี้ แบบสอบถามจะต้อง
ใน Command=สถานะแบบสอบถาม ค่านี้ตรงกับค่าเวลาของข้อความค้นหาตามที่รายงานโดย SHOW
กระบวนการ

--เวลาว่าง
ประเภท: เวลา; กลุ่ม: การจับคู่คำค้นหา

จับคู่คำค้นหาที่ไม่ได้ใช้งาน/อยู่ในโหมดสลีปนานกว่านี้ แบบสอบถาม
ต้องอยู่ใน Command=Sleep status ค่านี้ตรงกับค่าเวลาของข้อความค้นหาตามที่รายงานโดย
แสดงรายการกระบวนการ

--ละเว้น-คำสั่ง
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

ละเว้นการสืบค้นที่มีคำสั่งตรงกับ Perl regex นี้

ดู "--จับคู่คำสั่ง"

--ignore-ฐานข้อมูล
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

ละเว้นการสืบค้นที่มี db (ฐานข้อมูล) ตรงกับ Perl regex นี้

ดู "--match-db"

--ignore-โฮสต์
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

ละเว้นการสืบค้นที่มีโฮสต์ตรงกับ Perl regex นี้

ดู "--match-host"

--ignore-ข้อมูล
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

ละเว้นการสืบค้นที่มีข้อมูล (แบบสอบถาม) ตรงกับ Perl regex นี้

ดู "--match-info"

--[ไม่]ละเลย-ตัวเอง
ค่าเริ่มต้น: ใช่; กลุ่ม: การจับคู่คำค้นหา

อย่าฆ่าการเชื่อมต่อของ pt-kill

--ละเว้นรัฐ
ชนิด: สตริง; กลุ่ม: การจับคู่แบบสอบถาม; ค่าเริ่มต้น: ล็อคอยู่

ละเว้นการสืบค้นที่มีสถานะตรงกับ Perl regex นี้ ค่าเริ่มต้นคือเก็บเธรด
จากการถูกฆ่าหากพวกเขาถูกล็อครอเธรดอื่น

ดู "--สถานะการจับคู่"

--ignore-ผู้ใช้
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

ละเว้นการสืบค้นที่มีผู้ใช้ตรงกับ Perl regex นี้

ดู "--จับคู่ผู้ใช้"

--match-ทั้งหมด
กลุ่ม: การจับคู่คำค้นหา

จับคู่คำค้นหาทั้งหมดที่ไม่ถูกละเว้น หากไม่ได้ระบุตัวเลือกละเว้นไว้ ดังนั้น
ทุกข้อความค้นหาตรงกัน (ยกเว้นเธรดการจำลอง เว้นแต่ "--replication-threads" คือ
ระบุไว้ด้วย) ตัวเลือกนี้ให้คุณระบุการจับคู่เชิงลบ เช่น "match
ทุกคำถาม ยกเว้น..." โดยที่ข้อยกเว้นถูกกำหนดโดยการระบุต่างๆ
"--ละเว้น" ตัวเลือก

ตัวเลือกนี้คือ ไม่ เช่นเดียวกับ "--เหยื่อ" "ทั้งหมด" ตัวเลือกนี้ตรงกับข้อความค้นหาทั้งหมด
ภายในชั้นเรียน ในขณะที่ "--เหยื่อ" "ทั้งหมด" ระบุว่าข้อความค้นหาที่ตรงกันทั้งหมดในa
คลาส (ไม่ว่าจะจับคู่) จะถูกฆ่า โดยปกติแล้วจะใช้ทั้งสองอย่าง
ร่วมกันเพราะเช่นถ้าคุณระบุ "--เหยื่อ" "เก่าที่สุด" แล้วแม้ว่าทั้งหมด
คำค้นหาอาจตรงกัน เฉพาะที่เก่าที่สุดเท่านั้นที่จะถูกฆ่า

--match-คำสั่ง
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

จับคู่เฉพาะข้อความค้นหาที่ Command ตรงกับ Perl regex นี้

ค่าคำสั่งทั่วไปคือ:

สอบถาม
นอนหลับ
การถ่ายโอนข้อมูล Binlog
เชื่อมต่อ
การแทรกล่าช้า
ดำเนินงาน
นำมา
เริ่มต้นฐานข้อมูล
ฆ่า
เตรียมการ
รายชื่อกระบวนการ
เลิก
รีเซ็ต stmt
ตารางการถ่ายโอนข้อมูล

ดูhttp://dev.mysql.com/doc/refman/5.1/en/thread-commands.html> สำหรับรายการทั้งหมดและ
คำอธิบายของค่าคำสั่ง

--match-ฐานข้อมูล
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

จับคู่เฉพาะข้อความค้นหาที่มีฐานข้อมูล (ฐานข้อมูล) ตรงกับ Perl regex นี้

--แมตช์-เจ้าภาพ
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

จับคู่เฉพาะคำค้นหาที่โฮสต์ตรงกับ Perl regex นี้

ค่า Host มักจะรวมพอร์ตเช่น "host:port"

--match-ข้อมูล
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

จับคู่เฉพาะข้อความค้นหาที่มีข้อมูล (ข้อความค้นหา) ตรงกับ Perl regex นี้

คอลัมน์ข้อมูลของรายการกระบวนการแสดงแบบสอบถามที่กำลังดำเนินการหรือ NULL if
ไม่มีการดำเนินการสอบถาม

--match-สถานะ
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

จับคู่เฉพาะข้อความค้นหาที่มีสถานะตรงกับ regex Perl นี้

ค่าของรัฐทั่วไปคือ:

ล็อค
เข้าสู่ระบบ
คัดลอกไปยังตาราง tmp
กำลังคัดลอกไปยังตาราง tmp
กำลังคัดลอกไปยังตาราง tmp บนดิสก์
กำลังสร้างตาราง tmp
การดำเนินงาน
อ่านจากเน็ต
ส่งข้อมูล
กำลังจัดเรียงสินค้า
ผลการเรียงลำดับ
ล็อคโต๊ะ
ปรับปรุง

ดูhttp://dev.mysql.com/doc/refman/5.1/en/general-thread-states.html> ให้เต็มที่
รายการและคำอธิบายค่าของรัฐ

--match-ผู้ใช้
ชนิด: สตริง; กลุ่ม: การจับคู่คำค้นหา

จับคู่เฉพาะข้อความค้นหาที่ผู้ใช้ตรงกับ Perl regex นี้

--replication-กระทู้
กลุ่ม: การจับคู่คำค้นหา

อนุญาตให้จับคู่และฆ่าเธรดการจำลองแบบ

โดยค่าเริ่มต้น การจับคู่จะไม่นำไปใช้กับเธรดการจำลองแบบ คือเธรดการจำลองแบบคือ
ละเลยอย่างสมบูรณ์ การระบุตัวเลือกนี้จะทำให้การจับคู่ตรงกัน (และอาจ
ฆ่า) เธรดการจำลองแบบบนมาสเตอร์และทาส

--ทดสอบการจับคู่
ชนิด: อาร์เรย์; กลุ่ม: การจับคู่คำค้นหา

ไฟล์ที่มีสแน็ปช็อตของรายการกระบวนการเพื่อทดสอบตัวเลือกการจับคู่ ตั้งแต่การจับคู่
ตัวเลือกอาจซับซ้อน คุณสามารถบันทึกสแน็ปช็อตของรายการกระบวนการในไฟล์ จากนั้นทดสอบ
ตัวเลือกการจับคู่กับข้อความค้นหาในไฟล์เหล่านั้น

ตัวเลือกนี้ปิดใช้งาน "--run-time", "--interval" และ "--[no]ignore-self"

ชั้น การแข่งขัน
การจับคู่เหล่านี้ใช้กับคลาสแบบสอบถามทั้งหมด คลาสถูกสร้างขึ้นโดยการระบุ
ตัวเลือก "--group-by" มิฉะนั้น ข้อความค้นหาทั้งหมดจะเป็นสมาชิกของคลาสเริ่มต้นเดียว

ดูเพิ่มเติมที่ "กลุ่ม จับคู่และฆ่า"

--any-ไม่ว่าง-เวลา
ประเภท: เวลา; กลุ่ม: การแข่งขันระดับ

จับคู่คลาสแบบสอบถามหากมีการเรียกใช้แบบสอบถามใด ๆ นานกว่าเวลานี้ “นานขึ้น
than" หมายความว่า ถ้าระบุ 10 เช่น class จะจับคู่ก็ต่อเมื่อมี
อย่างน้อยหนึ่งแบบสอบถามที่ทำงานมานานกว่า 10 วินาที

ดู "--each-busy-time" สำหรับรายละเอียดเพิ่มเติม

--แต่ละ-ไม่ว่าง-time
ประเภท: เวลา; กลุ่ม: การแข่งขันระดับ

จับคู่คลาสคิวรีหากแต่ละคิวรีทำงานนานกว่านี้ “นานขึ้น
than" หมายความว่า หากระบุ 10 เช่น class จะจับคู่ก็ต่อเมื่อแต่ละ class และ
ทุกการสืบค้นทำงานนานกว่า 10 วินาที

ดูเพิ่มเติมที่ "--any-busy-time" (เพื่อให้ตรงกับคลาสหากมีการสืบค้นใด ๆ ที่ใช้เวลานานกว่า
ตามเวลาที่กำหนด) และ "--busy-time"

--query-นับ
ชนิด: int; กลุ่ม: การแข่งขันระดับ

จับคู่คลาสเคียวรีถ้าอย่างน้อยมีคิวรีจำนวนมากนี้ เมื่อแบบสอบถามถูกจัดกลุ่มเป็น
คลาสโดยระบุ "--group-by" ตัวเลือกนี้จะทำให้การจับคู่ใช้เฉพาะกับ
คลาสที่มีข้อความค้นหาอย่างน้อยนี้ หากไม่ได้ระบุ "--group-by" ให้ระบุสิ่งนี้
ตัวเลือกทำให้การจับคู่มีผลเฉพาะในกรณีที่มีคำค้นหาจำนวนมากใน
กระบวนการแสดงทั้งหมด

--รายละเอียด
แบบสั้น: -v

พิมพ์ข้อมูลไปที่ STDOUT เกี่ยวกับสิ่งที่กำลังดำเนินการอยู่

การกระทำ
การดำเนินการเหล่านี้จะดำเนินการกับทุกการสืบค้นที่ตรงกันจากทุกชั้นเรียน ได้ดำเนินการแล้ว
ตามลำดับนี้: "--print", "--execute-command", "--kill"/"--kill-query" คำสั่งนี้อนุญาตให้
"--execute-command" เพื่อดูผลลัพธ์ของ "--print" และแบบสอบถามก่อนหน้า
"--kill"/"--kill-query". สิ่งนี้อาจมีประโยชน์เพราะ pt-kill ไม่ผ่านเลย
ข้อมูลไปที่ "--execute-command"

ดูเพิ่มเติมที่ "กลุ่ม จับคู่และฆ่า"

--execute-คำสั่ง
ชนิด: สตริง; กลุ่ม: การกระทำ

ดำเนินการคำสั่งนี้เมื่อแบบสอบถามตรงกัน

หลังจากรันคำสั่งแล้ว pt-kill จะไม่สามารถควบคุมมันได้ ดังนั้นคำสั่งคือ
รับผิดชอบในการรวบรวมข้อมูล การบันทึก ช่วงเวลา ฯลฯ ของตัวเอง คำสั่งคือ
ดำเนินการทุกครั้งที่แบบสอบถามตรงกัน ดังนั้นโปรดระวังว่าคำสั่งทำงานได้ดีเมื่อ
มีการเรียกใช้อินสแตนซ์หลายรายการ ไม่มีข้อมูลจาก pt-kill ถูกส่งไปยังคำสั่ง

ดูเพิ่มเติมที่ "--รอก่อน-ฆ่า"

--ฆ่า
กลุ่ม: การกระทำ

ยุติการเชื่อมต่อสำหรับการค้นหาที่ตรงกัน

ตัวเลือกนี้ทำให้ pt-kill ฆ่าการเชื่อมต่อ (หรือที่รู้จักว่าโปรเซส เธรด) ที่มี
แบบสอบถามที่ตรงกัน ใช้ "--kill-query" หากคุณต้องการฆ่าการสืบค้นแต่ละรายการและ
ไม่ใช่การเชื่อมต่อของพวกเขา

เว้นแต่จะได้รับ "--print" ด้วย จะไม่มีการพิมพ์ข้อมูลอื่นที่แสดงว่า pt-
ฆ่าจับคู่และฆ่าแบบสอบถาม

ดูเพิ่มเติมที่ "--wait-before-kill" และ "--wait-after-kill"

--kill-แบบสอบถาม
กลุ่ม: การกระทำ

ฆ่าการค้นหาที่ตรงกัน

ตัวเลือกนี้ทำให้คิวรีจับคู่ pt-kill kill สิ่งนี้ต้องการ MySQL 5.0 หรือใหม่กว่า
ต่างจาก "--kill" ที่ฆ่าการเชื่อมต่อสำหรับการค้นหาที่ตรงกัน ตัวเลือกนี้เท่านั้น
ฆ่าการสืบค้น ไม่ใช่การเชื่อมต่อ

--พิมพ์
กลุ่ม: การกระทำ

พิมพ์คำสั่ง KILL สำหรับคำค้นหาที่ตรงกัน ไม่จริงฆ่าแบบสอบถาม

หากคุณเพียงต้องการดูว่าคำค้นหาใดตรงกันและจะถูกฆ่าโดยไม่ได้จริงๆ
ฆ่าพวกเขาระบุ "--พิมพ์" หากต้องการทั้งฆ่าและพิมพ์ข้อความค้นหาที่ตรงกัน ให้ระบุ
ทั้ง "--kill" และ "--print"

DSN OPTIONS


ตัวเลือก DSN เหล่านี้ใช้เพื่อสร้าง DSN แต่ละตัวเลือกจะได้รับเช่น "option=value"
ตัวเลือกจะคำนึงถึงขนาดตัวพิมพ์ ดังนั้น P และ p ไม่ใช่ตัวเลือกเดียวกัน ไม่สามารถ
ช่องว่างก่อนหรือหลัง "=" และถ้าค่ามีช่องว่างจะต้องยกมา
ตัวเลือก DSN คั่นด้วยเครื่องหมายจุลภาค ดูหน้าคู่มือ percona-toolkit สำหรับรายละเอียดทั้งหมด

·ก

dsn: ชุดอักขระ; สำเนา: ใช่

ชุดอักขระเริ่มต้น

· NS

dsn: ฐานข้อมูล; สำเนา: ใช่

ฐานข้อมูลเริ่มต้น

· NS

dsn: mysql_read_default_file; สำเนา: ใช่

อ่านเฉพาะตัวเลือกเริ่มต้นจากไฟล์ที่กำหนด

·ชม

dsn: โฮสต์; สำเนา: ใช่

เชื่อมต่อกับโฮสต์

· NS

dsn: รหัสผ่าน; สำเนา: ใช่

รหัสผ่านเพื่อใช้ในการเชื่อมต่อ หากรหัสผ่านมีเครื่องหมายจุลภาค จะต้องหลีกเลี่ยง
ด้วยแบ็กสแลช: "exam\,ple"

· ป

dsn: พอร์ต; สำเนา: ใช่

หมายเลขพอร์ตที่ใช้เชื่อมต่อ

· NS

dsn: mysql_socket; สำเนา: ใช่

ไฟล์ซ็อกเก็ตที่ใช้สำหรับการเชื่อมต่อ

· ยู

dsn: ผู้ใช้; สำเนา: ใช่

ผู้ใช้สำหรับเข้าสู่ระบบหากไม่ใช่ผู้ใช้ปัจจุบัน

· NS

ตารางสำหรับบันทึกการดำเนินการ หากส่งผ่าน --log-dsn

และพวกเรา


ตัวแปรสภาพแวดล้อม "PTDEBUG" เปิดใช้งานเอาต์พุตการดีบักแบบละเอียดไปยัง STDERR การเปิดใช้งาน
การดีบักและดักจับเอาต์พุตทั้งหมดไปยังไฟล์ เรียกใช้เครื่องมือเช่น:

PDEBUG=1 pt-kill ... > FILE 2>&1

ระวัง: การดีบักเอาท์พุตมีจำนวนมากและสามารถสร้างเอาต์พุตได้หลายเมกะไบต์

ระบบ สิ่งที่ต้องมี


คุณต้องมี Perl, DBI, DBD::mysql และแพ็คเกจหลักบางตัวที่ควรติดตั้งในทุก
Perl เวอร์ชันใหม่พอสมควร

ใช้ pt-killp ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    ฟรี Pascal Compiler
    ฟรี Pascal Compiler
    คอมไพเลอร์ Pascal 32/64/16 บิตสำหรับ
    Win32/64/CE, ลินุกซ์, Mac OS X/iOS,
    Android, FreeBSD, OS/2, เกมบอย
    แอดวานซ์, Nintendo NDS และ DOS;
    ความหมายเข้ากันได้ wi ...
    ดาวน์โหลดคอมไพเลอร์ Pascal ฟรี
  • 2
    Canon EOS DIGITAL ข้อมูล
    Canon EOS DIGITAL ข้อมูล
    Canon ไม่มีจำนวนชัตเตอร์
    รวมอยู่ในข้อมูล EXIF ​​​​ของ
    ไฟล์ภาพซึ่งตรงข้ามกับ Nikon และ
    เพนแท็กซ์ ไม่มี Canon อย่างเป็นทางการ
    แอปพลิเคชัน ...
    ดาวน์โหลดข้อมูล Canon EOS DIGITAL
  • 3
    การตรวจสอบ
    การตรวจสอบ
    rEFInd เป็นทางแยกของ rEFIt boot
    ผู้จัดการ. เช่นเดียวกับ rEFIt rEFInd can
    ตรวจจับการบูต EFI ที่คุณติดตั้งโดยอัตโนมัติ
    รถตักและนำเสนอ GUI ที่สวยงาม
    เมนูตัวเลือกการบูต...
    ดาวน์โหลด rEFInd
  • 4
    ด่วนลุค GSI
    ด่วนลุค GSI
    หน้าดาวน์โหลด SourceForge นี้เป็นไป
    อนุญาตให้ผู้ใช้ดาวน์โหลดซอร์สของฉัน
    GSIs อ้างอิงจาก phhusson's great
    งาน. ฉันสร้างทั้ง Android Pie และ
    แอนดรอยด์ 1...
    ดาวน์โหลด ExpressLuke GSI
  • 5
    นักดนตรี
    นักดนตรี
    Music Caster เป็นเครื่องเล่นเพลงแบบถาด
    ที่ให้คุณส่งเพลงท้องถิ่นของคุณไปที่a
    อุปกรณ์ Google Cast ในการวิ่งครั้งแรก
    คุณจะต้องคลิกลูกศรใน .ของคุณ
    ตา...
    ดาวน์โหลด Music Caster
  • 6
    ไพคิว
    ไพคิว
    PyQt เป็นการเชื่อมโยง Python สำหรับ
    Qt ข้ามแพลตฟอร์มของ Digia
    กรอบการพัฒนาแอปพลิเคชัน มัน
    รองรับ Python v2 และ v3 และ Qt v4 และ
    Qt v5 PyQt พร้อมใช้งาน ...
    ดาวน์โหลด PyQt
  • เพิ่มเติม»

คำสั่ง Linux

Ad