當前位置:首頁 » 網頁前端 » 持續運行js腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

持續運行js腳本

發布時間: 2023-01-24 13:23:05

A. nodejs服務後台持續運行三種方法

forever是一個nodejs守護進程,完全由命令行操控。forever會監控nodejs服務,並在服務掛掉後進行重啟。

1、安裝 forever

npm install forever -g

2、啟動服務

service forever start

3、使用 forever 啟動 js 文件

forever start index.js

4、停止 js 文件

forever stop index.js

5、啟動js文件並輸出日誌文件

forever start -l forever.log -o out.log -e err.log index.js

6、重啟js文件

forever restart index.js

7、查看正在運行的進程

forever list

pm2是一個進程管理工具,可以用它來管理你的node進程,並查看node進程的狀態,當然也支持性能監控,進程守護,負載均衡等功能

npm install -g pm2

pm2 start app.js    // 啟動

pm2 start app.js-i max   //啟動 使用所有CPU核心的集群

pm2 stop app.js       // 停止

pm2 stop all             // 停止所有

pm2 restart app.js    // 重啟

pm2 restart all          // 重啟所有

pm2 delete  app.js     // 關閉

運行 pm2 startup ,即在/etc/init.d/目錄下生成pm2-root的啟動腳本,且自動將pm2-root設為服務。

運行 pm2 save ,會將當前pm2所運行的應用保存在/root/.pm2/mp.pm2下,當開機重啟時,運行pm2-root服務腳本,並且到/root/.pm2/mp.pm2下讀取應用並啟動。

nodejs 自帶node.js自帶服務nohub,不需要安裝別的包。

缺點:存在無法查詢日誌等問題,關閉終端後服務也就關閉了, 經測試是這樣的。

nohup node ***.js &

B. JS腳本怎麼運行

常見的執行js代碼都是放入到HTML引入後,然後通過HTML文件來執行胡查看代碼。顯然這是比較麻煩的事情,如果電腦裡面安裝了node.js,可以使用node來直接使用node來運行想要運行的js文件。

<html>

<body>

<script language="javascript">

function Card(owner,rate)

{

this.Owner=owner;

this.Rate=rate;

}

var mycard = new Card("X","150");

document.write("name:"+mycard.Owner+"speed:"+mycard.Rate);

</script>

</body>

</html>

(2)持續運行js腳本擴展閱讀:

JavaScript語言中採用的是弱類型的變數類型,對使用的數據類型未做出嚴格的要求,是基於Java基本語句和控制的腳本語言,其設計簡單緊湊。

腳本簡單地說就是一條條的文字命令,這些文字命令是我們可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。

C. JS 網頁腳本 重復使用

建一個js為擴展名的文件例如,myjquery.js 把你的js代碼放進去,就<script type="text/javascript"> 和</script>之間的內容,然後再html頁面中使用<script src="./myjquery.js" type="text/javascript"></script>導入進去。注意src的路徑問題,./表示當前路徑,../表示上一目錄的路徑。這個路徑找對了,所有的js方法和變數都能復用了。

D. java程序中運行js腳本

我們要在Java中執行JavaScriptMethods.js中的execute(s1,s2)方法,JavaScriptMethods.js文件內容如下:

function execute(s1, s2){
return s1 + s2;
}

首先需要定義一個介面,這個介面中給出與要執行的JavaScript方法一樣的方法簽名,我們定義介面Methods,它的內容如下:

/**
* 介面中的方法簽名必須與要執行的JavaScript方法一致
* @author yuncong
*
*/
public interface Methods {
public String execute(String s1,String s2);
}

然後,就可以用腳本引擎執行JavaScriptMethods.js中execute(s1,s2)方法了,具體內容寫在下面的ExecuteScript類中的:

import java.io.FileReader;

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class ExecuteScript {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
try {
String path = ExecuteScript.class.getResource("").getPath();
System.out.println(path);
// FileReader的參數為所要執行的js文件的路徑
engine.eval(new FileReader(path + "JavaScriptMethods.js"));
if (engine instanceof Invocable) {
Invocable invocable = (Invocable) engine;
Methods executeMethod = invocable.getInterface(Methods.class);
System.out.println(executeMethod.execute("li", "yuncong"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

運行ExecuteScript類,輸出如下:

?

1
2

/C:/Users/yuncong/git/login/target/classes/executescript/
liyuncong