① linux下如何判斷該文件是否是可執行程序
無所謂什麼可執行。隨便一個文件都可以用「./filename」來執行(filename文件在當前目錄內)。
如果該文件原本就不是設計用來執行的(隨便舉個例子,比如一個OpenOffice文檔文件),敲入命令後執行,屏幕會報錯,說某句不合語法啥的。如果這個文件就是設計用來執行的,比如你說的二進制和腳本文件,在代碼沒錯的情況下,敲入命令後就會有預期的執行結果了。
如果文件屬性里有x,那麼你可以「./filename」來運行。否則,用「sudo
./filename」來執行。
而且終端中用ls命令後,這類屬性帶x的會顯示綠色。
② 如何在C程序中判斷一個shell命令是否執行成功
命令執行是否成功主要由 命令自己確定,如果它出錯 它會返回一個非0的退出狀態
這個退出狀態通過 $? 內置變數獲取
在shell腳本的編寫過程中 邏輯運算 ( && ||)就是由退出狀態決定
0 表示 true(正常) 非零表示false(異常),異常退出值可以有很多不同的值,這些值就表示了錯誤類型。
function exit_status(){
( exit $1 )
}
③ C語言如何調用.bat文件,並判斷其是否成功運行
直接調用標准庫stdlib.h下的system函數.system("*.bat");執行成功返回值為0,不成功就返回-1.④ Win10系統檢測驅動程序檢方法
一般來說如果不是常見的驅動錯誤,我們是沒有辦法從設備管理器中看出來的,因此在Win10系統中內置有檢測程序,能夠檢測驅動程序是否有問題。下面是我分享的具體操作方法,一起來看一下吧。
操作方法:
在Win10中內置有一個名為「驅動程序驗證程序管理器」的應用,此應用可以給Windows中安裝的驅動程序施加「壓力」以主動觸發其崩潰。如果真的發生了崩潰現象,「驅動程序驗證程序管理器」就會通過藍屏來報告問題。
檢測驅動之前請仔細閱讀以下信息!
在激活「驅動程序驗證程序管理器」之前,你必需小心再小心。因為「驅動程序驗證程序管理器」在檢測到錯誤的驅動程序時會直接觸發藍屏,如果在Windows完全載入和登錄之前就檢測到錯誤驅動程序,Windows就會進入「boot → load → crash」的.惡性循環,用戶還沒辦法進入Windows關閉、禁用它。
所以在激活驅動程序驗證程序之前,請確保至少有以下後手中的一種:
1、可以輕松進入安全模式。
2、有激活「驅動程序驗證程序管理器」之前創建系統還原點,並且還具有 Windows 安裝介質,可以將系統恢復到原始狀態。
如何打開「驅動程序驗證程序管理器」?
1、使用 Windows + R 快捷鍵打開「運行」——在對話框中鍵入 verifier 後執行。
2、在程序中選擇「創建自定義設置(供程序開發人員使用)」之後點擊「下一步」。
3、在此時的應用列表中會列出可對驅動程序進行的所有測試項。此時請取消勾選「隨機低資源模擬」和「DDI 兼容性檢查(額外)」項之後將其它選項全選並點擊「下一步」。
4、選擇「從一個列表選擇驅動程序」後點擊「下一步」。
5、在此列表中您可以自主選擇要測試的驅動程序,如果你不知道哪個驅動程序有問題,可以選擇測試的所有驅動程序。 然而根據經驗,一般微軟自帶的驅動和大廠商的驅動都經過了嚴格測試,不太可能有問題,所以「提供程序」中的「Microsoft Corporation」可以不選,以節省時間。
6、當選擇好並點擊「完成」後,Windows 將提示您重啟 PC 開始測試。
激活「驅動程序驗證程序管理器」並重啟 Windows 後,如果驅動程序驗證程序產生了藍屏,你就可以注意錯誤消息中指出的原因。
只需重啟 Windows 後再次在「驅動程序驗證程序管理器」中選擇「刪除現有設置」即可關閉驅動程序驗證程序。
當然也可直接使用如下命令來禁用:
verifier /bootmode resetonbootfail
以上內容便是Windows 10系統手動檢查驅動錯誤的方法,命令執行完成後需要重啟 Windows PC 才能生效,之後就可以安心的使用計算機,如果你的計算機不幸進入「boot → load → crash」死循環,請用戶進入安全模式再重啟電腦。
⑤ 程序驗證的基本方法
下面的框圖代表一個非負整數的除法程序。x1是被除數;x2是除數;z1中存放程序加工後得到的商;z2中存放得到的余數;y1、y2是程序加工時使用的工作單元。START 表示程序的起始,HALT表示程序的終止。方框中是同時賦值語句,如(y1,y2):=(O,x1)
表示將y1置0值的同時,將y2的值置為x1。圓框內是測試語句,用於控製程序加工的流程。如框圖中的語句y2≥x2
表示當y2的值大於等於x2時,程序按yes的箭頭繼續執行;否則按no的箭頭繼續執行。為驗證程序,必須首先將程序所要實現的目標形式化,即使用數學公式表達程序加工的初始數據的范圍(稱作輸入謂詞)和程序加工的結果(稱作輸出謂詞)。
若約定各個變數的取值都是整數,上述除法程序的輸入謂詞和輸出謂詞分別為在用歸納斷言方法證明程序正確性時,還必須在程序的框圖中設置一些數學公式,稱作斷言,表示程序執行到該處時,程序中變數應滿足的數學關系。輸入謂詞可選作起點處的斷言,而輸出謂詞可選作終止點處的斷言。
在除法程序中設置三個斷言,A處和C處的斷言分別為上述輸入和輸出謂詞,B處斷言為(x1=y1x2+y2)&(y2≥0)(1)
反映了y1、y2中存放商數和余數的中間結果值。
驗證程序的正確性,就是證明在程序的任何一種可能的加工過程中所設置的斷言都是成立的。程序的一個加工過程就是框圖中的一個流程。除法程序的所有可能的流程都是由圖上的三條路徑組合而成:由A至B;由B出發回到B;由B至C。這樣,驗證程序的正確性,就是證明對任一條路徑,只要起點的斷言成立,則終點的斷言也成立。
以第二條路徑為例,它是一條環路。要證明下列命題:若程序執行到環路的起點B時,斷言(1)成立,則程序執行一周,再達到B點時,斷言(1)仍然成立。
環行該圈,就是在(y2≥x2)成立的條件下,執行賦值語句(y1,y2):=(y1+1,y2-x2)
而上述語句的執行結果是使 y1的取值為執行前y1的值加1,y2的取值為執行前y2的值與x2的差,其他變數的值不變。為保證執行該賦值語句後斷言(1)仍然成立,就要求將斷言(1)中的y1代為(y1+1),y2代為(y2-x2)後得到的公式在執行該語句前成立。即(x1=(y1+1)x2+(y2-x2))&(y2-x2≥0) (2)
在執行上述賦值語句前成立。但已知執行該語句前斷言①和測試條件(y2≥x2)均成立。由此推斷公式②是成立的。這樣就完成了對第二條路徑的驗證。對其餘兩條路徑的驗證也是類似的。從而可以證明除法程序的正確性。
歸納斷言方法是由建立斷言和對各條路徑逐條驗證兩部分組成的。建立斷言是一種創造性的工作,而驗證路徑的工作盡管繁瑣,卻是機械的。如何由計算機系統協助用戶歸納出合適的斷言,是程序驗證研究中的重要課題。
用上述方法只能證明在輸入謂詞成立的前提下,程序終止時輸出謂詞一定成立。但不能證明在輸入謂詞成立時,程序一定能終止。不討論程序終止性的程序驗證稱為程序部分正確性的驗證。包括終止性的驗證,則稱為程序完全正確性的驗證。
程序驗證技術除了用於證明程序的正確性,或輔助用戶編制正確程序外,還可從程序正確性角度評價程序設計方法和程序設計語言的優劣。但是,保證程序正確性的有效辦法,不是在編製程序後再去驗證,而是設法在編制過程中,使用適當的技術,使產生的程序是正確無誤的。這類技術叫作程序綜合和程序變形。程序驗證技術和程序綜合變形技術相互參照,共同發展。
⑥ C程序,如何判斷上一個語句是否成功執行的代碼
這個要看語句的返回值
printf函數是有返回值的,它的返回值是列印的字元個數,不過一般沒有用到而已
如果想要查看printf是否成功執行,可以這樣寫
int a=printf("abc");
成功執行的話,a的數值為3,否則為負數
⑦ 怎樣檢測一個程序是否正在運行
比如進程名叫aaa,可以執行如下命令:ps -ef|grep aaa,如果有內容說明活著
如果你知道進程佔用的埠號,比如7777,可以執行:netstat -anp | grep 7777,檢查有沒有程序佔用該埠,若有的話,看pid或pname是否是你想要找的
如果想要找的是某個服務,比如nfs、smb等,可以用service nfs status查看
⑧ php中如何判斷某段程序是否正在執行
使用AJAX技術提交後台,當後台數據正確保存或執行後會返回一個狀態,然後他根據返回狀態就會給你一個提示了
⑨ c++stack queue不能遍歷如何知道程序執行成功了,有懂的回答,謝謝
不需要知道程序執行成功,而是要知道程序執行失敗啊。成功是默認的。
實在需要遍歷就用vector或deque或list
⑩ 為了驗證事務是否成功,需要添加什麼事務
為了驗證事務是否成功,需要添加事務註解。
事務註解是由一句或多句操作語句組成的集合,資料庫系統或計算機操作系統需要確保組成事務的語句要麼全都執行執行成功,因此,為了驗證事務是否成功,需要添加事務註解。
事務是計算機術語中是指訪問並可能更新資料庫中各種數據項的一個程序執行單元。