diff --git a/recipes-openharmony/openharmony/files/accesstoken.service b/recipes-openharmony/openharmony/files/accesstoken.service
index 8d7956e511ace493d25574a0665f2bd3946d329b..50502bcc715438c8ba8c9933d5439334890d8a59 100644
--- a/recipes-openharmony/openharmony/files/accesstoken.service
+++ b/recipes-openharmony/openharmony/files/accesstoken.service
@@ -8,6 +8,9 @@ Type=exec
 ExecStartPre=install -m 755 -d /data/service/e10/access_token
 # should run as system:system
 ExecStart=/usr/bin/sa_main /system/profile/accesstoken_service.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/accountmgr.service b/recipes-openharmony/openharmony/files/accountmgr.service
index 4b52a979906e9a4f45bd3a2e790f6bc371eeb05e..7b1aee34df626ef1b126d97461b432e66f0d3c2e 100644
--- a/recipes-openharmony/openharmony/files/accountmgr.service
+++ b/recipes-openharmony/openharmony/files/accountmgr.service
@@ -15,6 +15,9 @@ Group=system
 SupplementaryGroups=shell
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/accountmgr.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/appspawn.service b/recipes-openharmony/openharmony/files/appspawn.service
index 52264e470b18e3cf7f57024224a02b5853d245ba..5994efbcbc0192dfff9b2b0d3916f12c29660f19 100644
--- a/recipes-openharmony/openharmony/files/appspawn.service
+++ b/recipes-openharmony/openharmony/files/appspawn.service
@@ -18,6 +18,9 @@ Environment="XKB_CONFIG_EXTRA_PATH=/etc/openharmony/xkb"
 ExecStartPre=install -m 0755 -d /run/openharmony/appspawn
 LimitNICE=40
 ExecStart=/usr/bin/appspawn
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/deviceauth.service b/recipes-openharmony/openharmony/files/deviceauth.service
index 106e75eb649723d9e9ed2423a8f150f06f9b8ce0..4bb0da5d9ddf220250f0b12b99436f0e20b33000 100644
--- a/recipes-openharmony/openharmony/files/deviceauth.service
+++ b/recipes-openharmony/openharmony/files/deviceauth.service
@@ -15,6 +15,9 @@ Group=system
 SupplementaryGroups=shell
 LimitNICE=40
 ExecStart=/usr/bin/deviceauth_service
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/distributed_data.service b/recipes-openharmony/openharmony/files/distributed_data.service
index dc2e7c51d38be98e37979f2265c2e9845789e6bc..9e456bb5a814d13e20885a5089d18b9a4b83cf2d 100644
--- a/recipes-openharmony/openharmony/files/distributed_data.service
+++ b/recipes-openharmony/openharmony/files/distributed_data.service
@@ -16,6 +16,9 @@ SupplementaryGroups=shell readproc
 CapabilityBoundingSet=CAP_DAC_READ_SEARCH
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/distributeddata.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/distributedsched.service b/recipes-openharmony/openharmony/files/distributedsched.service
index e12863c3b7e6d046d96d0ad8fa482c0844efcbeb..d6fe5f5c71905eb701b7353d3ff8a3ef46a7ca04 100644
--- a/recipes-openharmony/openharmony/files/distributedsched.service
+++ b/recipes-openharmony/openharmony/files/distributedsched.service
@@ -17,6 +17,9 @@ Group=system
 SupplementaryGroups=shell
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/distributedsched.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/dsoftbus.service b/recipes-openharmony/openharmony/files/dsoftbus.service
index dc8301aa8ed84473707fb279efba8de4f683e341..0c8351a05e7e5fcead514cdf41f1e55d5bf45b58 100644
--- a/recipes-openharmony/openharmony/files/dsoftbus.service
+++ b/recipes-openharmony/openharmony/files/dsoftbus.service
@@ -19,6 +19,9 @@ Group=system
 SupplementaryGroups=shell
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/softbus_server.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/faultloggerd.service b/recipes-openharmony/openharmony/files/faultloggerd.service
index b9fb18113d9b931c72f94a93650ddd0499eef795..4ab7b344d2d26ab1ce796aaca9661bf9ce5a4df0 100644
--- a/recipes-openharmony/openharmony/files/faultloggerd.service
+++ b/recipes-openharmony/openharmony/files/faultloggerd.service
@@ -11,6 +11,9 @@ User=root
 Group=system
 SupplementaryGroups=log
 ExecStart=/usr/bin/faultloggerd
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/foundation.service b/recipes-openharmony/openharmony/files/foundation.service
index f2d255e1c2df6e935f65e63a5fcfc6cb4918bbfc..620e1bd0334f2efd757ae65fa6a433e4586a1ecc 100644
--- a/recipes-openharmony/openharmony/files/foundation.service
+++ b/recipes-openharmony/openharmony/files/foundation.service
@@ -29,6 +29,9 @@ Group=system
 CapabilityBoundingSet=CAP_SYS_PTRACE CAP_KILL
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/foundation.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/hdcd.service b/recipes-openharmony/openharmony/files/hdcd.service
index 2c4f297f91400cc0b81d9a007b4699e88e63fd51..92a243a1e7bf03dbe3fdd74526ae99a38a9581e2 100644
--- a/recipes-openharmony/openharmony/files/hdcd.service
+++ b/recipes-openharmony/openharmony/files/hdcd.service
@@ -8,6 +8,9 @@ After=param.service
 [Service]
 Type=exec
 ExecStart=/usr/bin/hdcd -t -l 3
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/hilogd.service b/recipes-openharmony/openharmony/files/hilogd.service
index 90dc7650629160168bc319f67c9c056894f17e16..8fa85bcff21a4aa7cc2de4f7d16d0674701242e8 100644
--- a/recipes-openharmony/openharmony/files/hilogd.service
+++ b/recipes-openharmony/openharmony/files/hilogd.service
@@ -11,6 +11,9 @@ User=logd
 Group=log
 ExecStart=/usr/bin/hilogd
 ExecStartPost=hilog -G 16M
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/hiview.service b/recipes-openharmony/openharmony/files/hiview.service
index 16205d9575ce2aac595b6e40e40d11fad1718bd2..abaf406ef0368c75f3191af169b07a1c14b23906 100644
--- a/recipes-openharmony/openharmony/files/hiview.service
+++ b/recipes-openharmony/openharmony/files/hiview.service
@@ -15,6 +15,9 @@ Group=system
 SupplementaryGroups=log
 LimitNICE=40
 ExecStart=/usr/bin/hiview
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 #[Install]
 #WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/huks.service b/recipes-openharmony/openharmony/files/huks.service
index 1fa0b8b6d8f048fd878cffb799b4ed90c368eab2..24acafd9cb57b928dcc596ab370ebfb5f624726e 100644
--- a/recipes-openharmony/openharmony/files/huks.service
+++ b/recipes-openharmony/openharmony/files/huks.service
@@ -13,6 +13,9 @@ Group=system
 SupplementaryGroups=shell
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/huks_service.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/inputmethod.service b/recipes-openharmony/openharmony/files/inputmethod.service
index fda027973a33380fc6adc7836690fa9dc8d44b1f..366f55d367d5b029c56a56eabf9c20fbcfe96f6b 100644
--- a/recipes-openharmony/openharmony/files/inputmethod.service
+++ b/recipes-openharmony/openharmony/files/inputmethod.service
@@ -14,6 +14,9 @@ SupplementaryGroups=shell
 CapabilityBoundingSet=CAP_SYS_TIME
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/inputmethod_service.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/installs.service b/recipes-openharmony/openharmony/files/installs.service
index a4d7316bf870cccd654bf9c415bf544b2b955e1b..e650885523bbdc366e5dec02344ea24428cdf510 100644
--- a/recipes-openharmony/openharmony/files/installs.service
+++ b/recipes-openharmony/openharmony/files/installs.service
@@ -9,6 +9,9 @@ After=hilogd.service
 [Service]
 Type=notify
 ExecStart=/usr/bin/installs
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/media.service b/recipes-openharmony/openharmony/files/media.service
index 837f0cfb01d3746f696bd5aaa887d69e432e3b57..9d3be87fe8b2d5c30fe60f73fd8107cbb628abe0 100644
--- a/recipes-openharmony/openharmony/files/media.service
+++ b/recipes-openharmony/openharmony/files/media.service
@@ -13,6 +13,9 @@ User=system
 Group=media_rw
 SupplementaryGroups=system
 LimitNICE=40
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/mmi-uinput.service b/recipes-openharmony/openharmony/files/mmi-uinput.service
index 2bc61dfb1d17009272964ecf9a0afb25115dbf05..4c30af79eac3dd97dfefc0aa114ac176b51163ef 100644
--- a/recipes-openharmony/openharmony/files/mmi-uinput.service
+++ b/recipes-openharmony/openharmony/files/mmi-uinput.service
@@ -12,6 +12,9 @@ Group=system
 SupplementaryGroups=shell uhid
 LimitNICE=40
 ExecStart=/usr/bin/uinput_inject
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/multimodalinput.service b/recipes-openharmony/openharmony/files/multimodalinput.service
index 2fa19139bcb36575219642249fc7eeac8cded8f2..e47c737600397a823ed27195c6ede86e39c7ae8a 100644
--- a/recipes-openharmony/openharmony/files/multimodalinput.service
+++ b/recipes-openharmony/openharmony/files/multimodalinput.service
@@ -12,6 +12,9 @@ Group=system
 SupplementaryGroups=shell uhid
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/multimodalinputservice.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/param.service b/recipes-openharmony/openharmony/files/param.service
index 3a9189b91d78f696434ce9c328d9a93a603ad62c..2e85227a5647396901da31956b91827897e36f27 100644
--- a/recipes-openharmony/openharmony/files/param.service
+++ b/recipes-openharmony/openharmony/files/param.service
@@ -7,6 +7,9 @@ ExecStartPre=install -m 755 -d /run/openharmony/param
 ExecStartPre=install -m 755 -d /data/param
 StandardError=journal
 ExecStart=/usr/bin/param_service
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/samgr.service b/recipes-openharmony/openharmony/files/samgr.service
index f0f26e97d5e54d110def57b7d902ae565a1c43aa..59cd035b89876db8c209841f7610f248c24d5e47 100644
--- a/recipes-openharmony/openharmony/files/samgr.service
+++ b/recipes-openharmony/openharmony/files/samgr.service
@@ -15,6 +15,9 @@ User=system
 Group=system
 ExecStart=/usr/bin/samgr
 LimitNICE=40
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/time.service b/recipes-openharmony/openharmony/files/time.service
index 8e6e64e5c850874556107a1f3c5e0af48fddbad4..d9421398158bd044f3c7636ea3df2912c3524e41 100644
--- a/recipes-openharmony/openharmony/files/time.service
+++ b/recipes-openharmony/openharmony/files/time.service
@@ -14,6 +14,9 @@ SupplementaryGroups=shell
 CapabilityBoundingSet=CAP_SYS_TIME CAP_WAKE_ALARM
 LimitNICE=40
 ExecStart=/usr/bin/sa_main /system/profile/time_service.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/tokensync.service b/recipes-openharmony/openharmony/files/tokensync.service
index e9d81f11052298a064bfc667306649c5e7032c30..eec72503b7350fc1c5c69fadcca55976a2ff3517 100644
--- a/recipes-openharmony/openharmony/files/tokensync.service
+++ b/recipes-openharmony/openharmony/files/tokensync.service
@@ -6,6 +6,9 @@ Requires=samgr.service
 Type=exec
 # should run as system:system
 ExecStart=/usr/bin/sa_main /system/profile/token_sync_service.xml
+Restart=on-failure
+StartLimitInterval=300
+StartLimitBurst=5
 
 [Install]
 WantedBy=multi-user.target
diff --git a/recipes-openharmony/openharmony/files/weston.service b/recipes-openharmony/openharmony/files/weston.service
index 43b46adfe1cddda3e48ac477fd8f315550865593..4d1df7b48b919621d6a8c306c3990f658cff4156 100644
--- a/recipes-openharmony/openharmony/files/weston.service
+++ b/recipes-openharmony/openharmony/files/weston.service
@@ -15,6 +15,7 @@ Environment="XDG_RUNTIME_DIR=/data/weston"
 Environment="XKB_CONFIG_ROOT=/etc/openharmony/xkb"
 Environment="XKB_CONFIG_EXTRA_PATH=/etc/openharmony/xkb"
 ExecStart=/usr/bin/weston -c /system/etc/weston.ini -B drm-backend.so --tty=1 --use-pixman
+Restart=always
 
 [Install]
 WantedBy=multi-user.target