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

POSIX (Portable Operating System Interface) คือชุดของมาตรฐานที่กำหนด API การเขียนโปรแกรมตัวแปลคำสั่งและยูทิลิตี้ทั่วไปสำหรับระบบปฏิบัติการที่เหมือน Unix


13
วิธีการสะท้อนคำสั่งของเชลล์ในขณะที่ดำเนินการ
ในเชลล์สคริปต์ฉันจะสะท้อนคำสั่งเชลล์ทั้งหมดที่เรียกและขยายชื่อตัวแปรได้อย่างไร? ตัวอย่างเช่นกำหนดบรรทัดต่อไปนี้: ls $DIRNAME ฉันต้องการให้สคริปต์รันคำสั่งและแสดงต่อไปนี้ ls /full/path/to/some/dir วัตถุประสงค์คือเพื่อบันทึกล็อกของคำสั่งเชลล์ทั้งหมดที่เรียกว่าและอาร์กิวเมนต์ อาจมีวิธีที่ดีกว่าในการสร้างบันทึกดังกล่าวหรือไม่?
911 bash  shell  sh  posix  trace 

14
ความหมายของ“ POSIX” คืออะไร?
POSIX คืออะไร ฉันได้อ่านบทความ Wikipediaและฉันอ่านทุกครั้งที่พบคำศัพท์ ความจริงก็คือฉันไม่เคยเข้าใจจริงๆว่ามันคืออะไร ทุกคนช่วยอธิบายให้ฉันฟังได้ไหมโดยอธิบาย "ความต้องการ POSIX" ด้วยหรือไม่
898 linux  unix  posix  terminology 

14
จะฆ่ากระบวนการทั้งหมดด้วยชื่อบางส่วนที่กำหนดได้อย่างไร [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 เดือนที่ผ่านมา ฉันต้องการฆ่ากระบวนการทั้งหมดที่ได้รับโดย: ps aux | grep my_pattern ทำอย่างไร? สิ่งนี้ไม่ทำงาน: pkill my_pattern
622 linux  bash  posix 

10
ฉันจะรันคำสั่งและรับเอาต์พุตของคำสั่งภายใน C ++ โดยใช้ POSIX ได้อย่างไร
ฉันกำลังมองหาวิธีที่จะได้รับผลลัพธ์ของคำสั่งเมื่อมันถูกเรียกใช้จากภายในโปรแกรม C ++ ฉันได้ดูการใช้งานsystem()ฟังก์ชั่น แต่นั่นก็จะดำเนินการคำสั่ง นี่คือตัวอย่างของสิ่งที่ฉันกำลังมองหา: std::string result = system("./some_command"); ฉันต้องการเรียกใช้คำสั่งโดยพลการและรับเอาต์พุต ฉันดูที่boost.orgแต่ฉันไม่พบสิ่งใดที่จะให้สิ่งที่ฉันต้องการ

6
เมื่อใดที่ฉันควรใช้ mmap สำหรับการเข้าถึงไฟล์
สภาวะแวดล้อม POSIX จัดเตรียมการเข้าถึงไฟล์อย่างน้อยสองวิธี มีมาตรฐานสายระบบopen(), read(), write()และเพื่อน ๆ แต่ยังมีตัวเลือกของการใช้mmap()เพื่อแมไฟล์ลงในหน่วยความจำเสมือน เมื่อใดควรเลือกใช้อีกอันหนึ่ง อะไรคือข้อดีของแต่ละบุคคลที่รวมทั้งสองอินเทอร์เฟซ
276 c  file-io  posix  mmap 

7
/ dev / null 2> & 1 คืออะไร
ฉันพบรหัสชิ้นนี้ใน /etc/cron.daily/apf #!/bin/bash /etc/apf/apf -f >> /dev/null 2>&1 /etc/apf/apf -s >> /dev/null 2>&1 มันล้างและโหลดไฟร์วอลล์อีกครั้ง ฉันไม่เข้าใจ>> /dev/null 2>&1ส่วนนั้น จุดประสงค์ของการมีสิ่งนี้ใน cron คืออะไร? มันกำลังเอาชนะกฎไฟร์วอลล์ของฉัน ฉันสามารถลบงาน cron นี้ได้อย่างปลอดภัยหรือไม่

7
ความแตกต่างระหว่าง read () และ recv () และระหว่าง send () และ write () คืออะไร
อะไรคือความแตกต่างระหว่างread()และและrecv()และระหว่างsend()และwrite()ในการเขียนโปรแกรมซ็อกเก็ตในแง่ของการแสดงความเร็วและพฤติกรรมอื่น ๆ ?

2
ฉันจะแปลงตัวชี้ไฟล์ (FILE * fp) เป็น file descriptor (int fd) ได้อย่างไร?
ฉันมีกลับด้วยการโทรไปยังFILE * fopen()ฉันจำเป็นต้องได้รับการอธิบายไฟล์จากมันเพื่อการโทรให้เหมือนfsync(fd)มัน ฟังก์ชั่นในการรับไฟล์ descriptor จากตัวชี้ไฟล์คืออะไร?
174 c  linux  unix  file  posix 

4
ข้อผิดพลาด C ++: การอ้างอิงที่ไม่ได้กำหนดกับ 'clock_gettime' และ 'clock_settime'
ฉันค่อนข้างใหม่กับ Ubuntu แต่ดูเหมือนจะใช้งานไม่ได้ มันทำงานได้ดีบนคอมพิวเตอร์ของโรงเรียนและฉันไม่รู้ว่าฉันไม่ได้ทำอะไร ฉันได้ตรวจสอบusr / includeแล้วและเวลามันก็โอเค นี่คือรหัส: #include <iostream> #include <time.h> using namespace std; int main() { timespec time1, time2; int temp; clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time1); //do stuff here clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &time2); return 0; } ฉันใช้ CodeBlocks เป็น IDE ของฉันเพื่อสร้างและเรียกใช้เช่นกัน ความช่วยเหลือใด ๆ จะดีขอขอบคุณ.
157 c++  linux  ubuntu  posix  time.h 

4
“ #define _GNU_SOURCE” หมายถึงอะไร
วันนี้ฉันต้องใช้basename()ฟังก์ชั่นและman 3 basename( ที่นี่ ) ให้ข้อความแปลก ๆ แก่ฉัน: หมายเหตุ มีbasenameสองเวอร์ชันที่แตกต่างกัน- เวอร์ชันPOSIX ที่อธิบายไว้ข้างต้นและเวอร์ชัน GNUซึ่งเวอร์ชันหนึ่งได้รับหลังจาก #define _GNU_SOURCE #include <string.h> ฉันสงสัยว่าสิ่งที่นี้#define _GNU_SOURCEหมายถึง: มันtaintingที่ผมเขียนโค้ดที่มีใบอนุญาต GNU เกี่ยวข้อง? หรือจะเป็นเพียงแค่ใช้ในการบอกสิ่งที่คอมไพเลอร์เช่น " ดีฉันรู้ว่าชุดของฟังก์ชั่นนี้ไม่ได้เป็น POSIX จึงไม่ได้พกพา แต่ผมอยากจะใช้มันต่อไป " ถ้าเป็นเช่นนั้นทำไมไม่ให้คนส่วนหัวที่แตกต่างกันแทนที่จะต้องกำหนดแมโครที่คลุมเครือเพื่อรับฟังก์ชั่นหนึ่งหรืออีกอันหนึ่ง? มีข้อบกพร่องบางอย่างสำหรับฉันด้วย: คอมไพเลอร์รู้ได้อย่างไรว่าการใช้งานฟังก์ชั่นใดเพื่อเชื่อมโยงกับปฏิบัติการ? มันใช้สิ่งนี้#defineด้วยหรือไม่ ใครมีพอยน์เตอร์ให้ฉันบ้าง
152 c  posix  gnu 

4
ไม่แสดงการเรียกใช้คำสั่งใน makefile หรือไม่
ฉันเขียนโปรแกรมสำหรับการมอบหมายซึ่งควรจะพิมพ์เอาต์พุตไปยัง stdout ข้อมูลจำเพาะที่ได้รับมอบหมายต้องมีการสร้าง Makefile ซึ่งเมื่อเรียกใช้ตามที่make run > outputFileควรเรียกใช้โปรแกรมและเขียนผลลัพธ์ไปยังไฟล์ซึ่งมีลายนิ้วมือ SHA1 ซึ่งเหมือนกับลายนิ้วมือที่ได้รับในข้อมูลจำเพาะ ปัญหาของฉันคือ makefile ของฉัน: ... run: java myprogram พิมพ์คำสั่งที่รันโปรแกรมของฉัน (เช่น java myprogram) ไปยังไฟล์เอาต์พุตเพื่อให้ไฟล์ของฉันมีบรรทัดพิเศษนี้ทำให้ลายนิ้วมือผิด มีวิธีการดำเนินการคำสั่งใด ๆ โดยไม่ต้องคำสั่งภาวนาสะท้อนไปยังบรรทัดคำสั่งหรือไม่
147 linux  unix  makefile  posix 

9
ความแตกต่างระหว่าง sigaction และสัญญาณคืออะไร?
ฉันกำลังจะเพิ่มตัวจัดการสัญญาณพิเศษลงในแอพที่เรามีที่นี่และฉันสังเกตเห็นว่าผู้เขียนเคยsigaction()ตั้งค่าตัวจัดการสัญญาณอื่น ๆ signal()ฉันกำลังจะไปใช้ ในการติดตามการประชุมฉันควรใช้sigaction()แต่ถ้าฉันเขียนตั้งแต่ต้นฉันควรเลือกแบบไหนดี?
143 c  signals  posix 

5
การเขียนโปรแกรมเพื่อรับมือกับข้อผิดพลาดของ I / O ทำให้การเขียนที่หายไปบน Linux
TL; DR: ถ้าเคอร์เนล Linux สูญเสียการเขียน I / O ที่บัฟเฟอร์แล้วมีวิธีใดบ้างที่แอปพลิเคชันจะค้นหา? ฉันรู้ว่าคุณต้องfsync()แฟ้ม (และไดเรกทอรีแม่ของมัน) เพื่อความทนทาน คำถามคือหากเคอร์เนลสูญเสียบัฟเฟอร์สกปรกที่รอการเขียนเนื่องจากข้อผิดพลาด I / O แอปพลิเคชันสามารถตรวจพบสิ่งนี้และกู้คืนหรือยกเลิก? คิดว่าแอ็พพลิเคชันฐานข้อมูล ฯลฯ ที่ลำดับการเขียนและความทนทานในการเขียนมีความสำคัญ เขียนหายไป? อย่างไร? ลินุกซ์เคอร์เนลสามารถป้องกันชั้นภายใต้สถานการณ์บางแพ้บัฟเฟอร์การร้องขอ I / O ที่ได้รับการส่งเรียบร้อยแล้วโดยwrite(), pwrite()ฯลฯ ด้วยข้อผิดพลาดเช่น: Buffer I/O error on device dm-0, logical block 12345 lost page write due to I/O error on dm-0 (ดูend_buffer_write_sync(...)และend_buffer_async_write(...)ในfs/buffer.c ) ในเมล็ดที่ใหม่กว่าข้อผิดพลาดจะมี …
138 c  linux  linux-kernel  posix 


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