&、nohup與Systemd
當客戶端瀏覽器第一次訪問服務器時,服務器為每個瀏覽器創(chuàng)建不同的HttpSession對象。在服務器端使用request.getSession()方法來獲得HttpSession對象,并以此來使用HttpSession接口為我們提供的方法。
session什么時候失效?
- 服務器會把長時間沒有活動的session從服務器內存中清除,此時Session便失效。Tomcat中Session的默認失效時間為20分鐘。
- 調用Session的invalidate方法。
- 關閉瀏覽器,結束session。
1. 使用&后臺運行程序:
結果會輸出到終端
使用Ctrl + C發(fā)送SIGINT信號,程序免疫
關閉session發(fā)送SIGHUP信號,程序關閉
2. 使用nohup運行程序:
結果默認會輸出到nohup.out
使用Ctrl + C發(fā)送SIGINT信號,程序關閉
關閉session發(fā)送SIGHUP信號,程序免疫
因此,平日線上經常使用nohup和&配合來啟動程序:可以同時免疫SIGINT和SIGHUP信號
3. Systemctl:
Systemctl是一個systemd工具,主要負責控制systemd系統和服務管理器。
在終端中輸入 ps ax | grep systemd,看到第一行,其中的數字 1 表示它的進程號是1,也就是說它是 Linux 內核發(fā)起的第一個程序。因此,內核一旦檢測完硬件并組織好了內存,就會運行 /usr/lib/systemd/systemd 可執(zhí)行程序,這個程序會按順序依次發(fā)起其他程序。( 在還沒有 Systemd 的日子里,內核會去運行 /sbin/init,隨后這個程序會在名為 SysVinit 的系統中運行其余的各種啟動腳本。)
![](/d/20211016/9a72501e614aa767e7d6b33dea23e1ca.gif)
Tip:這個名字末尾的 .service 后綴是可以省略的,因為systemctl默認的后綴就是 .service。關于Unit文件后綴的含義,會在后續(xù)進階篇的文章里詳細說明。
Systemd會自動找到 /usr/lib/systemd/system 目錄中的 .service 文件,并啟動其中定義的服務。如果之前創(chuàng)建的Unit文件是放在其他目錄下的,這里需要使用文件的完整路徑。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。