linux應用程式 怎麼每60s傳送執行某個函式一次

2025-04-04 21:15:18 字數 2951 閱讀 2025

1樓:阿爾邁凡

這要看該應用程式本身的實現了。

如果在程式內部的話就可或源以使用乙個計時器比如可以使用sleep函式在乙個while迴圈裡(死迴圈)每隔60s呼叫特定函式一次。

當然也可以使用sigalrm訊號與alarm函式來定期呼叫某個函式。

如果想要在外程式的」外「部進行程式內部函式定期呼叫執行的話可以在程式內部作訊號捕獲。

比如sigusr1等等,當程式捕獲到該訊號會就呼叫一次某個函式或者直接進入死迴圈定期呼叫函式(為了避免多次建立死迴圈可設定乙個變數用於記錄當前是否已經捕獲了訊號)

如果是前一種,捕獲訊號後只呼叫一次則我們可以通過kill命令向該好團畢程式傳送訊號(前提是該程式一直執行在系統後臺裡)友芹。

#!/bin/bash

while true

dokill -s sigusr1 pid

done如此便可以定期讓程式呼叫該程式內部的某乙個函式。

2樓:1雨2打3琵4琶

#cmd就是你想要態禪執行的程式,其中敏閉喊nohup &表示後臺執行。

#sleep單橋野位是秒。

while true

donohup cmd &

sleep 60

done

c語言 每一次迴圈間隔的時間。for while這類,每60s迴圈一次,怎麼用時間控制?最好不要用

3樓:網友

每次迴圈程序休眠60秒。

4樓:

如果需要準確的時間控制,需要使用系統的時間函式作為輔助,再加上for/while迴圈。

linux 執行程式傳遞

5樓:網友

那是程式執行中需要傳入的引數,你看程式中肯定有要引數的地方。

如何編寫linux下執行測試軟體命令按時間間隔的指令碼

6樓:大大蟲

編寫指令碼,內容:

#/bin/sh

fio -filename=/dev/sdl -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=8k -size=200g -numjobs=30 -runtime=60 -group_reporting -name=mytest

sleep 60

fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=32k -size=200g -numjobs=30 -runtime=60 -group_reporting -name=mytest

sleep 60

fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=32k -size=200g -numjobs=1 -runtime=60 -group_reporting -name=mytest

sleep 60

fio -filename=/dev/sdb -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=32k -size=200g -numjobs=1 -runtime=60 -group_reporting -name=mytest

執行指令碼:bash ./ >

linux下用c語言編寫應用程式,測試並列的多個fork()函式執行時建立的程序數目。

7樓:常懷曼

並列的是巨集觀的,實際執行還是有先後的,可以根據waitpid();的返回狀態進行統計,不過那時都結束了。

8樓:匿名使用者

新手討論下啊。程式執行後在另外乙個shell裡ps -a --forest看這個程式生成的程序情況。

#include

#include

intmain()

如何確定某個函式在linux核心**中的位置

9樓:網友

到網上找到posix標準,裡面有全部基本的函式的定義以及位置,如果找不到再找我要吧。

10樓:網友

標準c庫,在glib 裡面,核心好像用的是kmalloc這個函式;而atoi 好像在裡面。

11樓:風雨22彩虹

如果要看這兩個函式在標準庫中的定義用ctags或cscope生成索引。h,cscope,可以跳轉到函式定義,man malloc,宣告見stdlib。

如果仍然找不到,可以用ctags,si或grep。

windows下用source insight也可,然後查詢函式定義,用grep -r 搜尋關鍵字,atoi和malloc在c的標準庫中有定義。

1.安裝ctags

在源**目錄下執行。

ctags -r

這樣,會遞迴生成當前目錄下及其子目錄的tags檔案。

2.使用vim根據tags檔案查詢函式或結構定義。

1.在原始碼目錄下查詢。

vi -t tagname

2.如果要在任意位置使用,則需要把該tags檔案新增到~/.vimrc檔案中。

set tags=/home/money/sda8/

3.如果要在**中即時跟蹤,則游標移動到函式名上,使用ctrl+]鍵,按ctrl+t可以返回。

如果要跟蹤系統函式,使用shift+k可以自動跳轉道游標所在函式的手冊。

12樓:網友

在linux控制檯輸入:

man atoi

即可知道atoi函式的定義。

同理,輸入:

man malloc

即可知道malloc的定義。

linu系統如何安裝應用程式,linux 系統 如何安裝應用程式

linux的什麼發行版 例如ubuntu還是red hat 請補充說明。另外,linux對於初學者來說不是好用的,是非常不好用,如果要學習,請登入你所安裝的發行版的社群包括論壇,從菜鳥板塊開始看起。如果你是剛接觸linux,那你還是趁早換系統,以後你會發現根本用不習慣。ubuntu的話,建議上ubu...

應用程式錯誤,應用程式錯誤怎麼辦

作業系統出現記憶體錯誤不用慌 使用windows作業系統的人有時會遇到這樣的錯誤資訊 0x指令引用的0x00000000記憶體,該記憶體不能written 然後應用程式被關閉。其實,這個錯誤並不一定是windows不穩定造成的。本文就來簡單分析這種錯誤的常見原因。一 應用程式沒有檢查記憶體分配失敗 ...

如何學習嵌入式linux應用程式開發

理論加實踐,先將linux的一些基本操作搞清楚,然後自己從一些小程式開始唄,網上有大量資料,不過貴在堅持 呵呵呵 我這裡有嵌入式簡要學習的課程 希望對你有幫助第一階段 unix開發環境 開發規範培訓 oracle資料庫 c 核心 資料結構和演算法 標準庫 ooad 第二階段 shell程式設計 un...