關於linux中的pause 函式

2022-02-27 15:06:58 字數 3600 閱讀 6598

1樓:陳宗權

這個函式是讓程式暫停,直到等到有訊號到來為止。

你這段程式實際就是一直等訊號。

linux裡有類似dos中pause的命令麼?

2樓:匿名使用者

linux的shell有很多種的,,像sh,bash,csh,ksh等等,,使用bash的情況下

#!/bin/bash

echo 按任意鍵繼續

read -n 1

這段**能實現pause一樣的功能

linux下系統程式設計,程序通訊,即pause函式與kill函式怎樣實現通訊?

3樓:匿名使用者

你fork完了之後,最好這樣區分兩個程序,不然特別容易出現問題。

pid=fork();

if(pid==0)

else if(pid >0)

else

fork出錯處理

把你的程式改成上述形式之後,

kill完了,檢查下kill的返回值,沒有錯誤。我換了一個訊號,sigusr1,並且給它註冊了一個簡單的訊號處理函式,問題就搞定了。

sigcont的預設的訊號處理函式不知道是什麼,但是傳送sigcont並不能讓子程序返回,除非手動的註冊一個訊號處理函式。

你試試吧。。我簡單修改的程式,好像在子程序裡面exec沒反應,但exec沒錯:

#include

#include

#include

#include

#include

#include

#include

void tasksighandler(int signalnum);

void init()

execl("/bin/ls","ls",null);

perror("execl");

}void tasksighandler(int signalnum)

int main()

}else if(pid > 0)

sleep(8);

return 0;

}else

}下面是關於sigcont的一些說明,好像你這裡使用的場合並不適合:

在 posix-服從的平臺, sigcont 是 訊號 送到再開始a 計算機程式 由早先停留 sigstop 訊號。 符號常數 為sigcont在被定義 標標頭檔案 signal.h.

符號訊號名字,因為訊號數字可能橫跨平臺,變化使用。

用法當 sigstop 在它的現狀被送到過程,通常行為是停留那個過程。 如果送它sigcont訊號,過程只將恢復施行。 sigstop和sigcont使用為 作業控制 在 unix外殼程式在其他目的中。

4樓:匿名使用者

我看了下程式好像沒什麼問題,我現在沒有環境跑不起來。所以建議你先判斷各個系統呼叫函式的返回值,以便判斷函式時候成功執行。

sigcont 此作業控制訊號送給需要繼續執行的處於停止狀態的程序。如果接收到此訊號的程序處於停止狀態,則系統預設動作是使該程序繼續執行,否則預設動作是忽略此訊號。

c語言中system("pause")是什麼作用和意思

5樓:mei_陳先生

從程式中發起系統命令列呼叫,執行命令:pause。

作用和效果就是dos下的pause。

system("pause");   和system("pause");   作用和效果一樣,因為dos命令是不區分大小寫的。

system("pause")  是暫停的意思,等待使用者訊號;不然控制檯程式會一閃即過,你來不及看到執行結果。

6樓:檀香透窗櫺

意思:system就是呼叫從程式中呼叫系統命令(和shell命令)。

system("pause")就是從程式裡呼叫「pause」命令。

作用:而「pause」這個系統命令的功能很簡單,就是在命令列上輸出一行類似於「press   any   key   to   exit」或「請按任意鍵繼續...」的字,等待使用者按一個鍵,然後返回。

擴充套件資料

system()返回值:

1、如果 system()在呼叫/bin/sh 時失敗則返回127, 其他失敗原因返回-1.。

2、若引數string 為空指標(null), 則返回非零值.

3、如果system()呼叫成功則最後會返回執行shell 命令後的返回值, 但是此返回值也有可能為system()呼叫/bin/sh 失敗所返回的127, 因此最好能再檢查errno 來確認執行成功。

7樓:靠名真tm難起

在一個程式中寫有  system("pause")語句時,就是說從該程式裡呼叫了「pause」命令,即讓作業系統來暫停該程式程序的執行,同時程式執行到此語句處時,會在程式的視窗上顯示「press any key to continue . . .

」 也就是 「按任意鍵繼續...」,即等待使用者按下任意一個按鍵使該程式從暫停狀態返回到執行狀態繼續從剛才暫停的地方開始執行。

8樓:中關村**

system(「pause」) 是呼叫dos系統的暫停命令 pause 來暫停程式執行,按任意一個鍵後將繼續執行。

sleep() 是 windows 的 函式,讓程式進入睡眠狀態,要求引數 時間毫秒,到時間後自動甦醒,程式繼續執行。

例如: sleep(2500); 休眠 2.5 秒,滿2.5 秒 後 程式繼續執行。

9樓:瑠璃巡

c語言中間系統中的pause,它的作用是要終止系統執行,使系統在停止的過程中間能夠自行檢查。

10樓:淺默的少年

system(「pause」)在c語言中是暫停的意思 防止閃屏 等待使用者資訊

11樓:匿名使用者

執行暫停的意思,如果一定要用這樣,必須加上#include的標頭檔案才可以執行。

12樓:小新_沒蠟筆

暫停的意思,一般在linux程式設計時會用到,等待接收訊號,才會重新執行

13樓:競走未來

樓主說的很好,system("pause")在編寫c時包含在"stdlib.h"標頭檔案中

linux 上是否有windows系統中的 pause命令

14樓:運維大咖

linux系統上不帶windows命令,包括pause命令。

1. linux 和windows 封裝完全不一樣2. linux 自帶的是bash shell, windows自帶的是bat,powershell命令。

所有他們是沒有任何交叉點的。

3. 如果想要實現交叉管理和命令輸入,可以使用cygwin,copssh,這兩個開源軟體專門針對linux跨平臺的管理windows,支援在linux上鍵入一些windows命令,包括pause。

15樓:匿名使用者

沒有,不過可以用其他命令實現,自己寫個pause也不難吧

16樓:匿名使用者

sleep 看看能否行

matlab中關於一維小波變換的dwt函式,哈爾小波變換後的

t wpdec y,5,db40 對訊號 copy baiy進行小波包分解,層數為du5,得到zhi的t為小波樹dao,plot一下就可看到 a10 wprcoef t,1,0 a10是對節點 1,0 進行重構後得到的訊號。貌似沒有對那一層重構這一說法吧,只能是對某層的某個節點進行重構。節點的編號你...

linux中是什麼意思,Linux中的 是什麼意思

表示當前目錄,就像 表示上級目錄一樣。表示目錄級別的分隔符,之前的就是目錄名,aaa 表明的就是 也就是當前目錄 下面的 aaa 目錄。當然這個 aaa 後面的 可以省略,就像 表示當前目錄時,其實 是不需要的。更多linux相關知識可檢視 linux就該這麼學 一般情況下表示當前目錄。但是當開終端...

c中如何把陣列作為引數,c中關於陣列作為函式引數的幾種方法

對於陣列 名作為參bai數傳遞,有兩種方du式zhi 1.使用陣列名本身,如以下程式求dao陣列a的最專大值 include int max int x,int n 作為陣列定義形屬式2.用指標作為引數,這就簡單了,如 int max int x,int n 作為陣列定義形式int main voi...