{"id":3391,"date":"2017-07-14T21:30:13","date_gmt":"2017-07-14T13:30:13","guid":{"rendered":"https:\/\/ixyzero.com\/blog\/?p=3391"},"modified":"2017-07-14T22:08:43","modified_gmt":"2017-07-14T14:08:43","slug":"linux%e4%b8%8b%e7%9a%84c%e8%af%ad%e8%a8%80%e6%89%a7%e8%a1%8c%e7%b3%bb%e7%bb%9f%e5%91%bd%e4%bb%a4","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/3391.html","title":{"rendered":"Linux\u4e0b\u7684C\u8bed\u8a00#\u6267\u884c\u7cfb\u7edf\u547d\u4ee4"},"content":{"rendered":"<p>=Start=<\/p>\n<h4 id=\"Linux\u4e0b\u7684C\u8bed\u8a00#\u5982\u4f55\u6267\u884c\u7cfb\u7edf\u547d\u4ee4-\u7f18\u7531\uff1a\">\u7f18\u7531\uff1a<\/h4>\n<p>\u6574\u7406\u5b66\u4e60\u5728\u8fdb\u884cLinux\u4e0bC\u7f16\u7a0b\u4e2d\u78b0\u5230\u7684\u4e00\u4e9b\u77e5\u8bc6\u70b9\uff0c\u65b9\u4fbf\u4ee5\u540e\u8fdb\u884c\u53c2\u8003\u3002<\/p>\n<h4 id=\"Linux\u4e0b\u7684C\u8bed\u8a00#\u5982\u4f55\u6267\u884c\u7cfb\u7edf\u547d\u4ee4-\u6b63\u6587\uff1a\">\u6b63\u6587\uff1a<\/h4>\n<h5 id=\"Linux\u4e0b\u7684C\u8bed\u8a00#\u5982\u4f55\u6267\u884c\u7cfb\u7edf\u547d\u4ee4-\u53c2\u8003\u89e3\u7b54\uff1a\">\u53c2\u8003\u89e3\u7b54\uff1a<\/h5>\n<h6 id=\"Linux\u4e0b\u7684C\u8bed\u8a00#\u5982\u4f55\u6267\u884c\u7cfb\u7edf\u547d\u4ee4-\u5728C\u7a0b\u5e8f\u4e2d\u6267\u884c\/\u8c03\u7528\u7cfb\u7edf\u547d\u4ee4\u65b9\u6cd5\u5c0f\u7ed3\uff1a\">\u5728C\u7a0b\u5e8f\u4e2d\u6267\u884c\/\u8c03\u7528\u7cfb\u7edf\u547d\u4ee4\u65b9\u6cd5\u5c0f\u7ed3\uff1a<\/h6>\n<ul>\n<li>fork+exec #\u7ec8\u6781\u65b9\u6cd5<\/li>\n<li>popen\u00a0#\uff08\u989d\u5916\u5f15\u5165shell\u8fdb\u884c\u6267\u884c\uff0c\u76f8\u5f53\u4e8e\u662f\u300csh -c\u300d\uff09\u53ef\u4ee5\u83b7\u53d6\u6267\u884c\u7ed3\u679c\uff0c\u4f46\u662f\u662f\u5355\u5411\u7684(\u8981\u4e48\u8f93\u5165\uff0c\u8981\u4e48\u8f93\u51fa)\uff1b\u5982\u679c\u9700\u8981\u53cc\u5411\u7684\uff0c\u53ef\u4ee5\u4f7f\u7528\u5e95\u5c42\u4e00\u70b9\u7684pipe<\/li>\n<li>system #\uff08\u989d\u5916\u5f15\u5165shell\u8fdb\u884c\u6267\u884c\uff0c\u76f8\u5f53\u4e8e\u662f\u300csh -c\u300d\uff09\u53ea\u662f\u6267\u884c\/\u8c03\u7528\uff0c\u4f46\u65e0\u6cd5\u83b7\u53d6\u6267\u884c\u7ed3\u679c<\/li>\n<\/ul>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<div>\n<div id=\"highlighter_917260\" class=\"syntaxhighlighter sh-confluence nogutter java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"code\">\n<div class=\"container\" title=\"Hint: double-click to select code\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">#include &lt;stdio.h&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java keyword\">int<\/code>\u00a0<code class=\"java plain\">main() {<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">FILE * f = popen(\u00a0<\/code><code class=\"java string\">\"ls -al\"<\/code><code class=\"java plain\">,\u00a0<\/code><code class=\"java string\">\"r\"<\/code>\u00a0<code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">if<\/code>\u00a0<code class=\"java plain\">( f ==\u00a0<\/code><code class=\"java value\">0<\/code>\u00a0<code class=\"java plain\">) {<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">fprintf( stderr,\u00a0<\/code><code class=\"java string\">\"Could not execute\\n\"<\/code>\u00a0<code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">return<\/code>\u00a0<code class=\"java value\">1<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">const<\/code>\u00a0<code class=\"java keyword\">int<\/code>\u00a0<code class=\"java plain\">BUFSIZE =\u00a0<\/code><code class=\"java value\">1000<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">char<\/code>\u00a0<code class=\"java plain\">buf[ BUFSIZE ];<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">while<\/code><code class=\"java plain\">( fgets( buf, BUFSIZE,\u00a0 f ) ) {<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">fprintf( stdout,\u00a0<\/code><code class=\"java string\">\"%s\"<\/code><code class=\"java plain\">, buf\u00a0 );<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">pclose( f );<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>&amp;<\/p>\n<div class=\"code panel pdl conf-macro output-block\" data-hasbody=\"true\" data-macro-name=\"code\">\n<div class=\"codeContent panelContent pdl\">\n<div>\n<div id=\"highlighter_954772\" class=\"syntaxhighlighter sh-confluence nogutter java\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"code\">\n<div class=\"container\" title=\"Hint: double-click to select code\">\n<div class=\"line number1 index0 alt2\"><code class=\"java plain\">#include &lt;unistd.h&gt;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"java plain\">#include &lt;stdlib.h&gt;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"java plain\">#include &lt;stdio.h&gt;<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"java plain\">#include &lt;string.h&gt;<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"java comments\">\/\/\u00a0<a href=\"http:\/\/www.cnblogs.com\/phpgo\/p\/5817818.html\">http:\/\/www.cnblogs.com\/phpgo\/p\/5817818.html<\/a><\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"java spaces\">\u00a0<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"java keyword\">int<\/code>\u00a0<code class=\"java plain\">main()<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">const<\/code>\u00a0<code class=\"java keyword\">int<\/code>\u00a0<code class=\"java plain\">BUFSIZE =\u00a0<\/code><code class=\"java value\">1000<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">FILE *read_fp = NULL;<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">FILE *write_fp = NULL;<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">char<\/code>\u00a0<code class=\"java plain\">buffer[BUFSIZE +\u00a0<\/code><code class=\"java value\">1<\/code><code class=\"java plain\">];<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">int<\/code>\u00a0<code class=\"java plain\">chars_read =\u00a0<\/code><code class=\"java value\">0<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"java spaces\">\u00a0<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/ \u521d\u59cb\u5316\u7f13\u51b2\u533a<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">memset(buffer,\u00a0<\/code><code class=\"java string\">'\\0'<\/code><code class=\"java plain\">, sizeof(buffer));<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/ \u6253\u5f00ls\u548cgrep\u8fdb\u7a0b<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">read_fp = popen(<\/code><code class=\"java string\">\"ls -l\"<\/code><code class=\"java plain\">,\u00a0<\/code><code class=\"java string\">\"r\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">write_fp = popen(<\/code><code class=\"java string\">\"grep rwxrwxr-x\"<\/code><code class=\"java plain\">,\u00a0<\/code><code class=\"java string\">\"w\"<\/code><code class=\"java plain\">);<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/ \u4e24\u4e2a\u8fdb\u7a0b\u90fd\u6253\u5f00\u6210\u529f<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">if<\/code>\u00a0<code class=\"java plain\">(read_fp &amp;&amp; write_fp)<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/ \u8bfb\u53d6\u4e00\u4e2a\u6570\u636e\u5757<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">chars_read = fread(buffer, sizeof(<\/code><code class=\"java keyword\">char<\/code><code class=\"java plain\">), BUFSIZE, read_fp);<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java keyword\">while<\/code>\u00a0<code class=\"java plain\">(chars_read &gt;\u00a0<\/code><code class=\"java value\">0<\/code><code class=\"java plain\">)<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">{<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">buffer[chars_read] =\u00a0<\/code><code class=\"java string\">'\\0'<\/code><code class=\"java plain\">;<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/ \u628a\u6570\u636e\u5199\u5165grep\u8fdb\u7a0b<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">fwrite(buffer, sizeof(<\/code><code class=\"java keyword\">char<\/code><code class=\"java plain\">), chars_read, write_fp);<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/ \u8fd8\u6709\u6570\u636e\u53ef\u8bfb\uff0c\u5faa\u73af\u8bfb\u53d6\u6570\u636e\uff0c\u76f4\u5230\u8bfb\u5b8c\u6240\u6709\u6570\u636e<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">chars_read = fread(buffer, sizeof(<\/code><code class=\"java keyword\">char<\/code><code class=\"java plain\">), BUFSIZE, read_fp);<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java comments\">\/\/ \u5173\u95ed\u6587\u4ef6\u6d41<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">pclose(read_fp);<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">pclose(write_fp);<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">exit(EXIT_SUCCESS);<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">}<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"java spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"java plain\">exit(EXIT_FAILURE);<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"java plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h5 id=\"Linux\u4e0b\u7684C\u8bed\u8a00#\u5982\u4f55\u6267\u884c\u7cfb\u7edf\u547d\u4ee4-\u53c2\u8003\u94fe\u63a5\uff1a\">\u53c2\u8003\u94fe\u63a5\uff1a<\/h5>\n<p>Linux\u4e0b\u4f7f\u7528popen()\u6267\u884cshell\u547d\u4ee4<br \/>\n<a class=\"external-link\" href=\"http:\/\/www.cnblogs.com\/caosiyang\/archive\/2012\/06\/25\/2560976.html\" rel=\"nofollow\">http:\/\/www.cnblogs.com\/caosiyang\/archive\/2012\/06\/25\/2560976.html<\/a><\/p>\n<p><a class=\"external-link\" href=\"http:\/\/man7.org\/linux\/man-pages\/man3\/popen.3.html\" rel=\"nofollow\">http:\/\/man7.org\/linux\/man-pages\/man3\/popen.3.html<\/a><br \/>\n<a class=\"external-link\" href=\"http:\/\/blog.csdn.net\/dlutbrucezhang\/article\/details\/8840329\" rel=\"nofollow\">http:\/\/blog.csdn.net\/dlutbrucezhang\/article\/details\/8840329<\/a><\/p>\n<p><a class=\"external-link\" href=\"https:\/\/stackoverflow.com\/questions\/16127027\/linux-command-executing-by-popen-on-c-code\" rel=\"nofollow\">https:\/\/stackoverflow.com\/questions\/16127027\/linux-command-executing-by-popen-on-c-code<\/a><\/p>\n<p><a class=\"external-link\" href=\"https:\/\/stackoverflow.com\/questions\/671461\/how-can-i-execute-external-commands-in-c-linux\" rel=\"nofollow\">https:\/\/stackoverflow.com\/questions\/671461\/how-can-i-execute-external-commands-in-c-linux<\/a><\/p>\n<p>Can popen() make bidirectional pipes like pipe() + fork()?<br \/>\n<a class=\"external-link\" href=\"https:\/\/stackoverflow.com\/questions\/3884103\/can-popen-make-bidirectional-pipes-like-pipe-fork\" rel=\"nofollow\">https:\/\/stackoverflow.com\/questions\/3884103\/can-popen-make-bidirectional-pipes-like-pipe-fork<\/a><\/p>\n<p>kill a process started with popen<br \/>\n<a class=\"external-link\" href=\"https:\/\/stackoverflow.com\/questions\/548063\/kill-a-process-started-with-popen\" rel=\"nofollow\">https:\/\/stackoverflow.com\/questions\/548063\/kill-a-process-started-with-popen<\/a><\/p>\n<p>what is the difference between popen() and system() in C<br \/>\n<a class=\"external-link\" href=\"https:\/\/stackoverflow.com\/questions\/8538324\/what-is-the-difference-between-popen-and-system-in-c\" rel=\"nofollow\">https:\/\/stackoverflow.com\/questions\/8538324\/what-is-the-difference-between-popen-and-system-in-c<\/a><\/p>\n<p>Linux\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff08\u4e09\uff09\uff1a\u533f\u540d\u7ba1\u9053 popen()\u3001pclose()\u3001pipe()\u3001close()\u3001dup()\u3001dup2()<br \/>\n<a class=\"external-link\" href=\"http:\/\/www.cnblogs.com\/phpgo\/p\/5817818.html\" rel=\"nofollow\">http:\/\/www.cnblogs.com\/phpgo\/p\/5817818.html<\/a><\/p>\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u6574\u7406\u5b66\u4e60\u5728\u8fdb\u884cLinux\u4e0bC\u7f16\u7a0b\u4e2d\u78b0\u5230\u7684\u4e00\u4e9b\u77e5\u8bc6\u70b9\uff0c\u65b9\u4fbf\u4ee5\u540e\u8fdb\u884c\u53c2\u8003\u3002 \u6b63\u6587\uff1a \u53c2\u8003\u89e3 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,11,7],"tags":[100,30,641,839],"class_list":["post-3391","post","type-post","status-publish","format-standard","hentry","category-knowledgebase-2","category-linux","category-programing","tag-c","tag-linux","tag-popen","tag-system"],"views":3980,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3391","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=3391"}],"version-history":[{"count":2,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3391\/revisions"}],"predecessor-version":[{"id":3415,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3391\/revisions\/3415"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=3391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=3391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=3391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}