wangyang0918 commented on a change in pull request #11839:
URL: https://github.com/apache/flink/pull/11839#discussion_r425639551



##########
File path: flink-dist/src/main/flink-bin/bin/flink-console.sh
##########
@@ -58,7 +58,34 @@ esac
 
 FLINK_TM_CLASSPATH=`constructFlinkClassPath`
 
-log_setting=("-Dlog4j.configuration=file:${FLINK_CONF_DIR}/log4j-console.properties"
 "-Dlog4j.configurationFile=file:${FLINK_CONF_DIR}/log4j-console.properties" 
"-Dlogback.configurationFile=file:${FLINK_CONF_DIR}/logback-console.xml")
+if [ "$FLINK_IDENT_STRING" = "" ]; then
+    FLINK_IDENT_STRING="$USER"
+fi
+
+pid=$FLINK_PID_DIR/flink-$FLINK_IDENT_STRING-$SERVICE.pid
+mkdir -p "$FLINK_PID_DIR"
+# The lock needs to be released after use because this script is started 
foreground
+command -v flock >/dev/null 2>&1
+flock_exist=$?
+if [[ ${flock_exist} -eq 0 ]]; then
+    exec 200<"$FLINK_PID_DIR"
+    flock 200
+fi
+# Remove the pid file when all the processes are dead
+if [ -f "$pid" ];then
+    all_dead=0

Review comment:
       For `flink-daemon.sh`, it provides the `stop` and `stop-all` command so 
that we could remove the `pid` file there. However, in `flink-console.sh`, the 
script could be crashed or killed at any time. We may not have chance to remove 
it. So i put the clean-up logic when starting a new one. Only when all the 
processes are dead, we could safely delete the `pid` file. 




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to