如何讓udhcpc 占用更少的記憶體?

2021-08-28 03:42:49 字數 811 閱讀 3567

這個問題的表面現象是用system 呼叫的方式執行udhcpc 會失敗。解釋:由於system 是

通過fork 實現的,而子程序會複製父程序的vm 空間,當父程序占用較多vm 空間,

很容易導致system 呼叫失敗。其本質是子程序分配vm 空間失敗導致的。解決方法:

執行一下:

echo 1 > /proc/sys/vm/overcommit_memory

即可。更好的解決辦法是不使用system 呼叫方法,而是使用posix_spawn 呼叫,簡單的示

例如下:

#include #include #include #include #include #include int main(int argc, char* argv)

;/* posix_spawn需要指

定子程序的命令的全路徑(絕對路徑) */

char *spawnedenv = ;

printf("parent process id=%ld\n", getpid());

if((err=posix_spawn(&pid, spawnedargs[0], null, null, spawnedargs, spawnedenv)) !=0 )

printf("child process id=%ld\n", pid);

/* wait for the spawned process to exit */

(void)wait(null);

return 0;

}​

posix_spawn 的更多用法,請自行上網搜尋。

如何讓div內的多行文字上下左右居中

1 首先,如果div中的文字特別少,不超過div寬度,那麼這種就非常簡單了,直接line height等於height就可以了 我是內容 2 但是,在文字好多情況下,那麼就會出現這種情況 gg了,如果div不是固定高度,使用padding是可以完美實現 我是內容我是內容我是內容我是內容我是內容我是內...

如何讓群暉內的docker訪問ipv6網路?

618的時候購入了種草已久的nas 群暉ds418play,就是下面這個哈哈。最近又迷上了北郵人pt,想著既然nas 7 24小時開機,要是能在nas上掛pt那該多爽,24小時不間斷做種分享率一定很高哈哈哈。但是首先就遇到了第乙個問題,如果需要utorrent做種的話,就需要在docker內安裝ut...

如何使用偽指令讓結構體占用的記憶體空間變小

在我們定義乙個結構體後,因為存在位元組對齊的緣故,所以會有資源浪費的情況,比如 typedef struct student t 因為位元組對齊的緣故,這樣這個結構體的變數會佔12個位元組的空間,雖然 變數是乙個char型,但還是會按int型的空間處理 為了解決這個問題,我們可以將這個結構體的定義放...