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

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

13
วิธีการแสดงกล่องข้อความ GUI จากสคริปต์ทุบตีใน linux?
ฉันกำลังเขียนสคริปต์ทุบตีเล็กน้อยภายใต้ Ubuntu linux ฉันต้องการที่จะเรียกใช้พวกเขาจาก GUI โดยไม่ต้องใช้หน้าต่างเทอร์มินัลเพื่อป้อนอินพุตหรือดูเอาต์พุตใด ๆ จนถึงตอนนี้อินพุตที่จำเป็นเท่านั้นคือรหัสผ่านสำหรับ sudo - และ gksudo จัดการได้ดี แต่ฉันยังไม่พบวิธีที่ง่ายในการแสดงกล่องข้อความ มีคำสั่ง 'gkmessage' บ้างไหม? ฉันต้องการบางสิ่งบางอย่างในการติดตั้งเริ่มต้นของ Ubuntu แต่ฉันไม่รังเกียจที่จะติดตั้งแพ็คเกจใหม่หากจำเป็น
152 linux  bash  scripting  ubuntu  gtk 

7
มันปลอดภัยที่จะแยก / a / proc / ไฟล์?
ฉันต้องการแยกวิเคราะห์/proc/net/tcp/แต่ปลอดภัยหรือไม่ ฉันจะเปิดและอ่านไฟล์จาก/proc/และไม่ต้องกลัวว่ากระบวนการอื่น ๆ (หรือระบบปฏิบัติการของตัวเอง) จะเปลี่ยนแปลงในเวลาเดียวกันได้อย่างไร
152 c++  c  linux  unix  procfs 

4
เหตุใดหน่วยความจำนี้จึงไม่กินหน่วยความจำจริงๆ
ฉันต้องการสร้างโปรแกรมที่จะจำลองสถานการณ์ out-of-memory (OOM) บนเซิร์ฟเวอร์ Unix ฉันสร้างหน่วยความจำที่กินง่ายสุด ๆ นี้: #include <stdio.h> #include <stdlib.h> unsigned long long memory_to_eat = 1024 * 50000; size_t eaten_memory = 0; void *memory = NULL; int eat_kilobyte() { memory = realloc(memory, (eaten_memory * 1024) + 1024); if (memory == NULL) { // realloc failed here - we …

5
การสร้างไฟล์ชั่วคราวในทุบตี
มีวิธีที่ดีกว่าในการสร้างไฟล์ชั่วคราวในสคริปต์ทุบตีหรือไม่? ปกติฉันแค่ตั้งชื่อสิ่งที่อยู่ในใจของฉันเช่น tempfile-123 เพราะมันจะถูกลบเมื่อสคริปต์จบ มีข้อเสียในการทำเช่นนี้นอกเหนือจากการเขียนทับ tempfile-123 ที่เป็นไปได้ในโฟลเดอร์ปัจจุบันหรือไม่? หรือมีข้อได้เปรียบใด ๆ ในการสร้างไฟล์ชั่วคราวอย่างระมัดระวังมากขึ้น?
150 linux  bash  unix 

11
คุณบังคับให้การเชื่อมต่อ CIFS ยกเลิกการต่อเชื่อมอย่างไร
ฉันมีการแชร์ CIFS ที่ติดตั้งบนเครื่อง Linux เซิร์ฟเวอร์ CIFS หยุดทำงานหรือการเชื่อมต่ออินเทอร์เน็ตหยุดทำงานและสิ่งใดก็ตามที่แตะ CIFS จะต้องใช้เวลาหลายนาทีก่อนที่จะหมดเวลาและไม่สามารถฆ่าได้ในขณะที่คุณรอ ฉันไม่สามารถเรียกใช้ ls ในโฮมไดเร็กตอรี่ของฉันได้เนื่องจากมี symlink ที่ชี้ภายใน CIFS mount และ ls พยายามที่จะติดตามมันเพื่อตัดสินใจว่าควรใช้สีอะไร ถ้าฉันพยายามที่จะขยายมัน (แม้จะมี -fl) กระบวนการ umount แฮงค์เช่นเดียวกับ ls แม้แต่ sudo kill -9 ก็ไม่สามารถฆ่ามันได้ ฉันจะบังคับให้เคอร์เนลยกเลิกการต่อเชื่อมได้อย่างไร
149 linux  samba  smb  cifs 

9
คำสั่ง top -c ใน linux เพื่อกรองรายการที่แสดงตาม processname
top -c แสดงรายการกระบวนการทั้งหมดมีตัวเลือกที่ดีในการกรองกระบวนการด้วยชื่อผู้ใช้โดยใช้ตัวเลือก -u แต่ฉันสงสัยว่าถ้ามีวิธีง่าย ๆ ในการกรองกระบวนการตามชื่อกระบวนการที่ระบุไว้ภายใต้คอลัมน์คำสั่งของผลลัพธ์สูงสุด ตัวอย่างเช่นฉันต้องการตัวเลือกด้านบน - บางส่วน - สตริงของ processname และด้านบนแสดง pids ที่มีสตริงย่อยนี้ในชื่อคำสั่งเท่านั้น

3
เขียนเป็นไฟล์. txt หรือไม่
ฉันจะเขียนข้อความเล็กน้อยลงใน.txtไฟล์ได้อย่างไร ฉันใช้ Google มานานกว่า 3-4 ชั่วโมง แต่ไม่สามารถหาวิธีทำได้ fwrite(); มีข้อโต้แย้งมากมายและฉันไม่รู้วิธีใช้ ฟังก์ชั่นที่ง่ายที่สุดในการใช้งานเมื่อคุณต้องการเขียนชื่อและตัวเลขสองสามตัวไปยัง.txtไฟล์คืออะไร? แก้ไข: เพิ่มรหัสชิ้นหนึ่งของฉัน char name; int number; FILE *f; f = fopen("contacts.pcl", "a"); printf("\nNew contact name: "); scanf("%s", &name); printf("New contact number: "); scanf("%i", &number); fprintf(f, "%c\n[ %d ]\n\n", name, number); fclose(f);
149 c  linux 

7
ส่งจดหมายจาก terminal linux ในบรรทัดเดียว [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันรู้ว่ามีคำสั่งmailใน linux เพื่อส่งอีเมลผ่านบรรทัดคำสั่ง ฉันจะส่งอีเมลธรรมดาโดยใช้หนึ่งบรรทัดจากเทอร์มินัลได้อย่างไร ตัวอย่างเช่น: mail user@gmail.com [subject] [body] และมีอีเมลที่ส่งโดยไม่มีการยืนยันหรือแจ้งให้ผู้ใช้? เหตุผลคือฉันต้องการส่งข้อความสั้น ๆ ทางอีเมลถึงตัวเองเมื่อมีเหตุการณ์เฉพาะเกิดขึ้นในjavaโปรแกรม แนวคิดคือฉันจะใช้Runtime.getRuntime()... ฯลฯ เพื่อส่งmail commandจากjavaโปรแกรมของฉัน ฉันเคยcronทำสิ่งที่คล้ายกันในอดีต แต่การใช้งานปัจจุบันไม่ได้ใช้cronดังนั้นฉันต้องลองใช้แทน
148 linux  email 

21
วิธีใช้ sed เพื่อลบบรรทัดสุดท้ายของไฟล์
ฉันต้องการที่จะลบบางnเส้นจากจุดสิ้นสุดของแฟ้ม สิ่งนี้สามารถทำได้โดยใช้ sed? ตัวอย่างเช่นหากต้องการลบบรรทัดจาก 2 เป็น 4 ฉันสามารถใช้ได้ $ sed '2,4d' file แต่ฉันไม่รู้หมายเลขบรรทัด ฉันสามารถลบบรรทัดสุดท้ายโดยใช้ $sed $d file แต่ฉันต้องการทราบวิธีลบเส้นnจากจุดสิ้นสุด โปรดแจ้งให้ฉันทราบวิธีการใช้ sed หรือวิธีอื่น
148 linux  bash  shell  sed 

7
ทำการติดตั้ง แต่ไม่ใช่ไปยังไดเรกทอรีเริ่มต้นหรือไม่
ฉันต้องการเรียกใช้ 'ทำการติดตั้ง' ดังนั้นฉันจึงมีทุกอย่างที่ฉันต้องการ แต่ฉันต้องการให้มันติดตั้งสิ่งต่าง ๆ ในโฟลเดอร์ของตัวเองซึ่งตรงข้ามกับระบบ / usr / bin ฯลฯ เป็นไปได้ไหม แม้ว่ามันจะอ้างอิงถึงเครื่องมือใน / usr / bin เป็นต้น?
148 linux  gcc  makefile  autotools 

2
วัดเวลาใน Linux - เวลาเทียบกับนาฬิกาเทียบกับ getrusage เทียบกับ clock_gettime เทียบกับ gettimeofday เทียบกับ timespec_get?
ท่ามกลางฟังก์ชั่นจับเวลา, time, clock getrusage, clock_gettime, gettimeofdayและtimespec_getผมต้องการที่จะเข้าใจอย่างชัดเจนว่าพวกเขาจะดำเนินการและสิ่งที่มีค่าที่พวกเขากลับมาเพื่อที่จะทราบซึ่งในสถานการณ์ที่ผมต้องใช้พวกเขา แรกที่เราต้องฟังก์ชั่นประเภทกลับค่าผนังนาฬิกาเปรียบเทียบกับฟังก์ชั่นที่กลับมากระบวนการหรือหัวข้อค่า gettimeofdayส่งคืนค่านาฬิกาแขวนclock_gettimeส่งคืนค่านาฬิกาแขวนหรือค่ากระบวนการหรือเธรดขึ้นอยู่กับClockพารามิเตอร์ที่ส่งผ่านไป getrusageและclockคืนค่ากระบวนการ จากนั้นคำถามที่สองเกี่ยวกับการใช้งานฟังก์ชั่นเหล่านี้และเป็นผลให้ความถูกต้องของพวกเขา ฟังก์ชันเหล่านี้ใช้กลไกฮาร์ดแวร์หรือซอฟต์แวร์ใด ดูเหมือนว่าgetrusageจะใช้เฉพาะเคอร์เนลเห็บ (โดยทั่วไปจะมีความยาว 1 มิลลิวินาที) และด้วยเหตุนี้จึงไม่แม่นยำกว่า ms ถูกต้องหรือไม่ จากนั้นgetimeofdayฟังก์ชั่นการใช้งานดูเหมือนว่าจะถูกต้องมากที่สุดฮาร์ดแวร์พื้นฐานที่มีอยู่ ผลที่ตามมาคือความถูกต้องแม่นยำคือไมโครวินาที (ไม่สามารถมากไปกว่าเพราะ API) บนฮาร์ดแวร์ล่าสุด สิ่งที่เกี่ยวกับclockหน้าพูดคนเกี่ยวกับ "ประมาณ" มันหมายความว่าอะไร? สิ่งที่เกี่ยวกับclock_gettimeAPI อยู่ในระดับนาโนวินาทีหมายความว่าสามารถแม่นยำได้หรือไม่ถ้าฮาร์ดแวร์พื้นฐานอนุญาต? แล้วเรื่อง monotonicity ล่ะ? มีฟังก์ชั่นอื่น ๆ อีกหรือไม่?
148 c  linux  time  linux-kernel 

21
จะส่งรหัสผ่านไปยัง su / sudo / ssh โดยไม่แทนที่ TTY ได้อย่างไร?
ผมเขียนโปรแกรม C เชลล์ที่จะทำsuหรือหรือsudo sshพวกเขาต้องการรหัสผ่านในอินพุตคอนโซล (TTY) มากกว่า stdin หรือบรรทัดคำสั่ง ไม่มีใครรู้วิธีการแก้ปัญหา? การตั้งค่ารหัสผ่านsudoไม่ได้เป็นตัวเลือก คาดหวัง อาจเป็นตัวเลือก แต่ไม่มีในระบบ stripping down ของฉัน
148 linux  ssh  passwords  sudo  su 

5
ฉันจะตรวจสอบระบบปฏิบัติการใน Python ได้อย่างไร
ฉันต้องการตรวจสอบระบบปฏิบัติการ (บนคอมพิวเตอร์ที่สคริปต์ทำงาน) ฉันรู้ว่าฉันสามารถใช้งานos.system('uname -o')บน Linux ได้ แต่มันทำให้ฉันมีข้อความในคอนโซลและฉันต้องการเขียนถึงตัวแปร มันจะไม่เป็นไรถ้าสคริปต์สามารถบอกได้ว่าเป็น Mac, Windows หรือ Linux ฉันจะตรวจสอบได้อย่างไร

7
การใช้ Selenium WebDriver python bindings ในโครเมียม
ฉันพบปัญหาขณะทำงานกับซีลีเนียม สำหรับโครงการของฉันฉันต้องใช้ Chrome อย่างไรก็ตามฉันไม่สามารถเชื่อมต่อกับเบราว์เซอร์นั้นได้หลังจากเปิดใช้งานด้วย Selenium ด้วยเหตุผลบางอย่างซีลีเนียมไม่สามารถค้นหา Chrome ได้ด้วยตนเอง นี่คือสิ่งที่เกิดขึ้นเมื่อฉันพยายามเปิด Chrome โดยไม่ใส่เส้นทาง: Traceback (most recent call last): File "./obp_pb_get_csv.py", line 73, in <module> browser = webdriver.Chrome() # Get local session of chrome File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__ self.service.start() File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start and read up at http://code.google.com/p/selenium/wiki/ChromeDriver") selenium.common.exceptions.WebDriverException: …

10
ข้อผิดพลาด Linux c ++: การอ้างอิงที่ไม่ได้กำหนดเป็น 'dlopen'
ฉันทำงานบน Linux ด้วย C ++ (Eclipse) และต้องการใช้ไลบรารี Eclipse แสดงข้อผิดพลาดให้ฉัน: undefined reference to 'dlopen' คุณรู้วิธีแก้ปัญหาหรือไม่? นี่คือรหัสของฉัน: #include <stdlib.h> #include <stdio.h> #include <dlfcn.h> int main(int argc, char **argv) { void *handle; double (*desk)(char*); char *error; handle = dlopen ("/lib/CEDD_LIB.so.6", RTLD_LAZY); if (!handle) { fputs (dlerror(), stderr); exit(1); } desk= dlsym(handle, "Apply"); if …
147 c++  linux  eclipse 

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