คำถามติดแท็ก linux

คำถามเกี่ยวกับลินุกซ์จะต้องมีการเขียนโปรแกรมที่เกี่ยวข้อง ใช้แท็กนี้เฉพาะเมื่อคำถามของคุณเกี่ยวข้องกับการเขียนโปรแกรมโดยใช้ Linux API หรือพฤติกรรมเฉพาะของ Linux ไม่ใช่เพียงเพราะคุณใช้งานโค้ดของคุณบน Linux เท่านั้น หากคุณต้องการการสนับสนุน Linux คุณสามารถลอง https://unix.stackexchange.com หรือเว็บไซต์ Stack Exchange ของ Linux ที่เผยแพร่เฉพาะเช่น https://askubuntu.com หรือ https://elementaryos.stackexchange.com/

11
Spinlock กับ Semaphore
อะไรคือความแตกต่างพื้นฐานระหว่างเซมาฟอร์และสปินล็อค? เมื่อใดที่เราจะใช้เซมาฟอร์บนสปินล็อค?
119 c++  c  linux  unix  operating-system 

9
ฉันจะเรียกใช้ฟังก์ชันจากสคริปต์ในบรรทัดคำสั่งได้อย่างไร
ฉันมีสคริปต์ที่มีฟังก์ชันบางอย่าง ฉันสามารถเรียกใช้หนึ่งในฟังก์ชันโดยตรงจากบรรทัดคำสั่งได้หรือไม่? อะไรทำนองนี้? myScript.sh func()
119 linux  bash  scripting 

2
การจัดการสัญญาณที่มีหลายเธรดใน Linux
ใน Linux จะเกิดอะไรขึ้นเมื่อโปรแกรม (ซึ่งอาจมีหลายเธรด) ได้รับสัญญาณเช่น SIGTERM หรือ SIGHUP กระทู้ไหนดักฟังสัญญาณ หลายเธรดสามารถรับสัญญาณเดียวกันได้หรือไม่? มีเธรดพิเศษเฉพาะสำหรับการจัดการสัญญาณหรือไม่? ถ้าไม่เกิดอะไรขึ้นภายในเธรดที่จัดการสัญญาณ? การดำเนินการจะดำเนินต่อไปอย่างไรหลังจากรูทีนตัวจัดการสัญญาณเสร็จสิ้น
119 c  linux  multithreading  signals  ipc 

7
ตรวจสอบพื้นที่ว่างในดิสก์สำหรับพาร์ติชันปัจจุบันใน bash
ฉันกำลังเขียนโปรแกรมติดตั้งใน bash ผู้ใช้จะไปที่ไดเร็กทอรีเป้าหมายและรันสคริปต์การติดตั้งดังนั้นการดำเนินการแรกควรตรวจสอบว่ามีพื้นที่เพียงพอ ฉันรู้ว่า df จะรายงานระบบไฟล์ทั้งหมด แต่ฉันสงสัยว่ามีวิธีรับพื้นที่ว่างสำหรับพาร์ติชันที่ไดเร็กทอรีเป้าหมายอยู่หรือไม่ แก้ไข - คำตอบที่ฉันคิดขึ้นมา df $PWD | awk '/[0-9]%/{print $(NF-2)}' แปลกเล็กน้อยเนื่องจาก df ดูเหมือนจะจัดรูปแบบเอาต์พุตให้พอดีกับเทอร์มินัลดังนั้นด้วยชื่อจุดเมาท์แบบยาวเอาต์พุตจะถูกเลื่อนลงมาหนึ่งบรรทัด
119 linux  bash 

5
Java ใช้หน่วยความจำมากกว่าขนาดฮีป (หรือขนาดที่ถูกต้อง จำกัด หน่วยความจำ Docker)
สำหรับแอปพลิเคชันของฉันหน่วยความจำที่ใช้โดยกระบวนการ Java นั้นมากกว่าขนาดฮีปมาก ระบบที่คอนเทนเนอร์กำลังทำงานอยู่เริ่มมีปัญหาหน่วยความจำเนื่องจากคอนเทนเนอร์ใช้หน่วยความจำมากกว่าขนาดฮีปมาก ขนาดฮีปตั้งไว้ที่ 128 MB ( -Xmx128m -Xms128m) ในขณะที่คอนเทนเนอร์ใช้หน่วยความจำสูงสุด 1GB ภายใต้สภาวะปกติต้องใช้ 500MB หากคอนเทนเนอร์นักเทียบท่ามีขีด จำกัด ด้านล่าง (เช่นmem_limit=mem_limit=400MB) กระบวนการจะถูกฆ่าโดยนักฆ่าหน่วยความจำที่ไม่เพียงพอของระบบปฏิบัติการ คุณช่วยอธิบายได้ไหมว่าทำไมกระบวนการ Java ถึงใช้หน่วยความจำมากกว่าฮีป วิธีปรับขนาดขีด จำกัด หน่วยความจำ Docker ให้ถูกต้อง มีวิธีลดรอยเท้าหน่วยความจำนอกฮีปของกระบวนการ Java หรือไม่? ผมรวบรวมรายละเอียดบางอย่างเกี่ยวกับปัญหาการใช้คำสั่งจากการติดตามหน่วยความจำพื้นเมืองใน JVM จากระบบโฮสต์ฉันได้รับหน่วยความจำที่คอนเทนเนอร์ใช้ $ docker stats --no-stream 9afcb62a26c8 CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET …
119 java  linux  docker  memory  jvm 



10
Bash script เพื่อคำนวณเวลาที่ผ่านไป
ฉันกำลังเขียนสคริปต์ใน bash เพื่อคำนวณเวลาที่ผ่านไปสำหรับการดำเนินการตามคำสั่งของฉันให้พิจารณา: STARTTIME=$(date +%s) #command block that takes time to complete... #........ ENDTIME=$(date +%s) echo "It takes $($ENDTIME - $STARTTIME) seconds to complete this task..." ฉันเดาว่าตรรกะของฉันถูกต้อง แต่ฉันก็พิมพ์ออกมาต่อไปนี้: "ใช้เวลาไม่กี่วินาทีในการทำงานนี้ให้เสร็จ ... " มีอะไรผิดปกติกับการประเมินสตริงของฉัน? ฉันเชื่อว่าตัวแปร bash ไม่ได้ถูกพิมพ์ฉันจะชอบถ้ามีวิธี "string to integer" ใน bash อย่างไรก็ตาม
119 linux  bash  shell 

8
ไม่สามารถคัดลอก ~ / .ssh / id_rsa.pub
ฉันติดตามในการสร้างคีย์ SSHมันกล่าว sudo apt-get install xclip ดาวน์โหลดและติดตั้ง xclip หากคุณไม่มีapt-getคุณอาจต้องใช้ตัวติดตั้งอื่น (เช่นyum) xclip -sel clip < ~/.ssh/id_rsa.pub คัดลอกเนื้อหาของไฟล์ id_rsa.pub ไปยังคลิปบอร์ดของคุณ แต่หลังจากเรียกใช้xclip -sel clip < ~/.ssh/id_rsa.pubฉันได้รับError: Can't open display: (null) ปัญหาคืออะไร? ฉัน googled ไปรอบ ๆ แต่ไม่พบอะไรเกี่ยวกับมัน
119 linux  ssh 



10
รับ URL สุดท้ายหลังจากเปลี่ยนเส้นทาง curl
ฉันต้องการรับ URL สุดท้ายหลังจากการเปลี่ยนเส้นทางหน้าควรใช้ curl หรือ wget ยกตัวอย่างเช่นhttp://google.comอาจเปลี่ยนเส้นทางไปยังhttp://www.google.com เนื้อหานั้นง่ายต่อการรับ (เช่นcurl --max-redirs 10 http://google.com -L) แต่ฉันสนใจเฉพาะ url สุดท้าย (ในกรณีเดิมคือhttp://www.google.com ) มีวิธีใดบ้างในการทำเช่นนี้โดยใช้เครื่องมือในตัวของ Linux เท่านั้น? (บรรทัดคำสั่งเท่านั้น)
118 linux  redirect  curl  wget 

8
ฉันจะไปป์หรือเปลี่ยนทิศทางเอาต์พุตของ curl -v ได้อย่างไร
ด้วยเหตุผลบางประการผลลัพธ์จะถูกพิมพ์ไปยังเทอร์มินัลเสมอไม่ว่าฉันจะเปลี่ยนเส้นทางผ่าน 2> หรือ> หรือ | มีวิธีแก้ปัญหานี้หรือไม่? เหตุใดจึงเกิดขึ้น
117 linux  unix  curl 

5
ข้อผิดพลาด: ใช้ไลบรารี Libtool แต่ไม่ได้กำหนด 'LIBTOOL'
ฉันพยายามautomakeใช้ไลบรารี OrientDb C ++ แต่ได้รับข้อผิดพลาดบางอย่าง Makefile.am:10: error: Libtool library used but 'LIBTOOL' is undefined Makefile.am:10: The usual way to define 'LIBTOOL' is to add 'LT_INIT' Makefile.am:10: to 'configure.ac' and run 'aclocal' and 'autoconf' again. Makefile.am:10: If 'LT_INIT' is in 'configure.ac', make sure Makefile.am:10: its definition is in aclocal's search path. …
117 c  linux  autotools  orientdb 

4
ไม่สามารถฆ่าสคริปต์ Python ด้วย Ctrl-C
ฉันกำลังทดสอบ Python threading ด้วยสคริปต์ต่อไปนี้: import threading class FirstThread (threading.Thread): def run (self): while True: print 'first' class SecondThread (threading.Thread): def run (self): while True: print 'second' FirstThread().start() SecondThread().start() สิ่งนี้กำลังทำงานใน Python 2.7 บน Kubuntu 11.10 Ctrl+ Cจะไม่ฆ่ามัน ฉันลองเพิ่มตัวจัดการสำหรับสัญญาณระบบด้วย แต่ไม่ได้ช่วยอะไร: import signal import sys def signal_handler(signal, frame): sys.exit(0) signal.signal(signal.SIGINT, signal_handler) ในการฆ่ากระบวนการฉันกำลังฆ่ามันโดย PID …
117 python  linux 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.