debian讓dotnet 程序以守護進程方式運行,如果意外退出主動開啟

  1. 創建服務文件: 打開一個新的.service文件在/etc/systemd/system/目錄下,例如myapp.service
sudo nano /etc/systemd/system/myapp.service
  1. 編輯服務文件: 添加以下內容到myapp.service文件,確保修改ExecStart以指向你的.NET Core應用程序的可執行文件,以及其他的路徑和配置根據你的需求:
[Unit]
Description=My .NET Core Application[Service]
WorkingDirectory=/path/to/your/app
ExecStart=/usr/bin/dotnet /path/to/your/app/YourApp.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-app
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production[Install]
WantedBy=multi-user.target
  • WorkingDirectory: 應用程序的工作目錄。
  • ExecStart: 啟動應用程序的命令。
  • Restart: 服務失敗時的重啟策略,always表示總是重啟。
  • RestartSec: 重啟前等待的時間。
  • KillSignal: 系統用于停止服務的信號。
  • User: 運行此服務的用戶。
  • Environment: 設置環境變量,如ASP.NET Core環境。
    注:如何知道ExecStart中命令的路徑呢?
    答:which命令會在您的系統的PATH環境變量指定的目錄中搜索可執行文件。
which dotnet

我的配置如下:

[Unit]
Description=自動運行程序[Service]
WorkingDirectory=/root/workerservice
ExecStart=/root/dotnet/dotnet  /root/workerservice/WorkerServiceForLinux.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
KillSignal=SIGINT
SyslogIdentifier=dotnet-app
User=root
Environment=ASPNETCORE_ENVIRONMENT=Production[Install]
WantedBy=multi-user.target
  1. 啟用和啟動服務: 重新加載systemd守護進程以讀取新的服務文件,然后啟用并啟動你的服務
sudo systemctl daemon-reload
sudo systemctl enable myapp.service
sudo systemctl start myapp.service
  1. 檢查服務狀態: 使用以下命令查看服務狀態
sudo systemctl status myapp.service
  1. 停止與disable 服務
sudo systemctl disable myapp.service
sudo systemctl stop myapp.service
  1. 通過這些步驟,您的.NET Core應用程序將作為守護進程運行在Debian系統上。如果應用程序崩潰,systemd將按照您在myapp.service文件中定義的Restart和RestartSec選項自動重新啟動它。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18168.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18168.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18168.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

JVM-調優之-高內存占用問題排查

排查思路 1)檢查jvm內存的分配情況 2)檢查jvm的gc情況 3) 找出占用量比較大的對象 第一步:jmap -heap PID 查看jvm內存使用情況 jmap -heap 2525 可以看到老年代年輕代等其他內存區域內存使用率百分比 第二步:jsta…

Golang:使用roylee0704/gron實現定時任務

可以使用roylee0704/gron實現定時任務 文檔 https://github.com/roylee0704/gronhttps://pkg.go.dev/github.com/roylee0704/gron 安裝 go get github.com/roylee0704/gron代碼示例 package mainimport ("fmt""time""github.com/roylee0704/gron…

如何用分立器件設計一個過流保護電路

過流保護電路是指當后級負載電流過大或者發生短路時,自動切斷電源與后級負載,從而防止大電流損害電源電路,過流保護又叫OCP。 常見的過流保護電路有保險絲過流保護,集成的過流保護芯片,還有這種分立器件搭建的過流保護…

Browserify:將 Node.js 模塊轉換為瀏覽器可用的 JavaScript

什么是 Browserify? Browserify 是一個 JavaScript 工具,用于將 Node.js 模塊轉換為在瀏覽器環境中可用的單個 JavaScript 文件。通過 Browserify,您可以使用 require() 函數引入其他模塊,就像在 Node.js 中一樣,而不…

詳解 Scala 的隱式轉換

當編譯器第一次編譯失敗的時候,會在當前的環境中查找能讓代碼編譯通過的方法,用于將某個類型進行轉換,實現二次編譯通過 一、隱式函數 隱式函數可以在不修改任何代碼的情況下,擴展某個類的功能 /**聲明語法:implicit d…

Ubuntu上安裝Maven

在Ubuntu上安裝Maven的步驟如下: 更新包索引: sudo apt update 安裝Maven: sudo apt install maven 驗證安裝是否成功: mvn -version 以上步驟將會安裝Maven并添加到系統路徑中,你可以通過運行mvn -version來驗…

TIM輸出比較

一、OC(Output Compare)輸出比較 1、輸出比較可以通過比較CNT(計數器)與CCR(捕獲/比較寄存器)寄存器值的關系,來對輸出電平進行置1、置0或翻轉的操作,用于輸出一定頻率和占空比的PW…

微信小程序連接阿里云快速入門【物聯網】

一、前言 1.1 項目背景 隨著5G的逐漸普及,萬物互聯的浪潮已經席卷而來。在萬物互聯的場景下,如何實現設備之間的互聯互通,成為了一個亟待解決的問題。 微信小程序作為一款輕量級的小程序開發框架,以其簡潔的語法和豐富的組件庫…

08、SpringBoot 源碼分析 - 自動配置深度分析一

SpringBoot 源碼分析 - 自動配置深度分析一 refresh和自動配置大致流程如何自動配置SpringBootApplication注解EnableAutoConfiguration注解AutoConfigurationImportSelector自動配置導入選擇器DeferredImportSelectorHandler的handleDeferredImportSelectorGroupingHandler的r…

【學習筆記】C++每日一記[20240520]

簡述幾種內存泄漏的預防機制 用智能指針代替普通指針,由于智能指針自帶引用計數功能,能夠記錄動態分配空間的引用數量,在引用計數為零時,自動調用析構函數釋放空間。 借助一些內存泄漏檢測工具,例如Valgrind、Memche…

DNS 解析過程

文章目錄 簡介特點查詢方式??1. 瀏覽器緩存2. 系統緩存(hosts文件)3. 路由器緩存4. 本地域名服務器5. 根域名服務器6. 頂級域名服務器7. 權限域名服務器8. 本地域名服務器緩存并返回9. 操作系統緩存并返回10. 瀏覽器緩存并訪問流程圖 總結 簡介 DNS&a…

Enable Full Line suggestions 啟用全行建議

開啟后效果如下: 直接提示可能要輸入的參數

基于 Solana 的 Drift Protocol 快速崛起,重新定義去中心化衍生品市場

隨著區塊鏈技術的快速發展,加密市場的格局正在悄然改變。投資者對透明度、效率和去中心化的需求愈發強烈,之前完全由中心化交易主導的加密貨幣交易,開始向鏈上轉移。 根據 Coingecko 的最新數據,CEX 和 DEX 的現貨交易量已經達到了…

WWW24因果論文(3/8) |通過因果干預實現圖分布外泛化

【摘要】由于圖神經網絡 (GNN) 通常會隨著分布變化而出現性能下降,因此分布外 (OOD) 泛化在圖學習中引起了越來越多的關注。挑戰在于,圖上的分布變化涉及節點之間錯綜復雜的互連,并且數據中通常不存在環境標簽。在本文中,我們采用…

系統開發與運行知識

系統開發與運行知識 導航 文章目錄 系統開發與運行知識導航一、軟件工程二、軟件生命周期三、開發模型四、開發方法五、需求分析結構化分析 六、數據流圖分層數據流圖的畫法設計注意事項 七、數據字典數據字典的內容 八、系統設計九、結構化設計常用工具十、面向對象十一、UML…

C++中Lambda表達式的使用場景

Lambda表達式在C中有許多常用的使用場景,下面舉例說明幾個常見的場景: STL算法中的自定義比較器:在使用STL算法時,有時需要自定義比較器來指定元素的排序規則。Lambda表達式可以方便地定義簡單的比較器,例如在std::so…

B+樹和B*樹

B樹和B*樹 一、B樹的簡單介紹二、B樹的插入過程三、B*樹的簡單介紹四、B樹、B樹、B*樹總結五、B樹的應用1、MyISAM索引實現2、InnoDB索引實現 一、B樹的簡單介紹 B樹是B樹的變形,是在B樹基礎上優化的多路平衡搜索樹,B樹的規則跟B樹基本類似,但…

芯片固定uv膠有什么優點?

芯片固定uv膠有什么優點? 芯片固定UV膠具有多種優點,這些優點使得它在半導體封裝和芯片固定等應用中成為理想的選擇。以下是芯片固定UV膠的一些主要優點: 固化速度快:UV膠在紫外線照射下能迅速固化,通常在幾秒到幾十秒…

springcloud-服務拆分與遠程調用

一 微服務 1.1簡單了解 SpringCloud SpringCloud是目前國內使用最廣泛的微服務框架。官網地址:Spring Cloud。 SpringCloud集成了各種微服務功能組件,并基于SpringBoot實現了這些組件的自動裝配,從而提供了良好的開箱即用體驗&#xff1a…

ubuntu24.04LVM擴容問題

目錄 一、 開機前設置:擴展 二、 開機后設置:分區管理 通過gparted管理分區有效做法。 一、 開機前設置:擴展 虛擬機關機。打開虛擬機設置。 掛起狀態是不能擴容的 這里選擇擴容到40G 二、 開機后設置:分區管理 使用gpar…